20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738 scris ca binar pe 64 biți, precizie dublă, virgulă mobilă în standard IEEE 754
Scriere 20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738(10) din zecimal în binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 11 biți pentru exponent, 52 de biți pentru mantisă)
Care sunt pașii pentru a scrie numărul
20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738(10) din zecimal în binar în reprezentarea pe 64 biți, precizie dublă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 11 biți pentru exponent, 52 de biți pentru mantisă)
1. Întâi convertește în binar (în baza 2) partea întreagă: 20.
Împarte numărul în mod repetat la 2.
Notăm mai jos, în ordine, fiecare rest al împărțirilor.
Ne oprim când obținem un cât egal cu zero.
- împărțire = cât + rest;
- 20 : 2 = 10 + 0;
- 10 : 2 = 5 + 0;
- 5 : 2 = 2 + 1;
- 2 : 2 = 1 + 0;
- 1 : 2 = 0 + 1;
2. Construiește reprezentarea în baza 2 a părții întregi a numărului.
Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.
20(10) =
1 0100(2)
3. Convertește în binar (baza 2) partea fracționară: 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738.
Înmulțește numărul în mod repetat cu 2.
Notăm mai jos fiecare parte întreagă a înmulțirilor.
Ne oprim când obținem o parte fracționară egală cu zero.
- #) înmulțire = întreg + fracționar;
- 1) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 476;
- 2) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 476 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 334 952;
- 3) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 334 952 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 669 904;
- 4) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 669 904 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 339 808;
- 5) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 339 808 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 679 616;
- 6) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 679 616 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 359 232;
- 7) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 359 232 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 718 464;
- 8) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 718 464 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 436 928;
- 9) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 436 928 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 873 856;
- 10) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 873 856 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 747 712;
- 11) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 747 712 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 495 424;
- 12) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 495 424 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 334 990 848;
- 13) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 334 990 848 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 669 981 696;
- 14) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 669 981 696 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 339 963 392;
- 15) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 339 963 392 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 679 926 784;
- 16) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 679 926 784 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 359 853 568;
- 17) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 359 853 568 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 719 707 136;
- 18) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 719 707 136 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 439 414 272;
- 19) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 439 414 272 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 878 828 544;
- 20) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 878 828 544 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 757 657 088;
- 21) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 757 657 088 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 515 314 176;
- 22) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 515 314 176 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 030 628 352;
- 23) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 030 628 352 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 061 256 704;
- 24) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 061 256 704 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 122 513 408;
- 25) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 122 513 408 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 245 026 816;
- 26) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 245 026 816 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 360 490 053 632;
- 27) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 360 490 053 632 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 720 980 107 264;
- 28) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 720 980 107 264 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 441 960 214 528;
- 29) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 441 960 214 528 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 883 920 429 056;
- 30) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 883 920 429 056 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 767 840 858 112;
- 31) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 767 840 858 112 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 535 681 716 224;
- 32) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 535 681 716 224 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 071 363 432 448;
- 33) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 071 363 432 448 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 142 726 864 896;
- 34) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 142 726 864 896 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 285 453 729 792;
- 35) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 285 453 729 792 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 570 907 459 584;
- 36) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 570 907 459 584 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 361 141 814 919 168;
- 37) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 361 141 814 919 168 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 722 283 629 838 336;
- 38) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 722 283 629 838 336 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 444 567 259 676 672;
- 39) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 444 567 259 676 672 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 889 134 519 353 344;
- 40) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 889 134 519 353 344 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 778 269 038 706 688;
- 41) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 778 269 038 706 688 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 556 538 077 413 376;
- 42) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 556 538 077 413 376 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 113 076 154 826 752;
- 43) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 113 076 154 826 752 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 226 152 309 653 504;
- 44) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 226 152 309 653 504 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 452 304 619 307 008;
- 45) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 340 452 304 619 307 008 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 904 609 238 614 016;
- 46) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 680 904 609 238 614 016 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 361 809 218 477 228 032;
- 47) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 361 809 218 477 228 032 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 723 618 436 954 456 064;
- 48) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 723 618 436 954 456 064 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 447 236 873 908 912 128;
- 49) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 447 236 873 908 912 128 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 894 473 747 817 824 256;
- 50) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 894 473 747 817 824 256 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 788 947 495 635 648 512;
- 51) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 788 947 495 635 648 512 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 577 894 991 271 297 024;
- 52) 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 667 577 894 991 271 297 024 × 2 = 1 + 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 155 789 982 542 594 048;
- 53) 0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 335 155 789 982 542 594 048 × 2 = 0 + 0,666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 670 311 579 965 085 188 096;
Nicio parte fracționară egală cu zero n-a fost obținută. Însă am efectuat un număr suficient de iterații (peste limita de Mantisă) și am obținut măcar o parte întreagă diferită de zero => STOP (Pierdem din precizie - numărul convertit pe care îl vom obține în final va fi doar o foarte bună aproximare a celui inițial).
4. Construiește reprezentarea în baza 2 a părții fracționare a numărului.
Ia fiecare parte întreagă a rezultatelor înmulțirilor, începând din partea de sus a listei construite:
0,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738(10) =
0,0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0(2)
5. Numărul pozitiv înainte de normalizare:
20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738(10) =
1 0100,0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0(2)
6. Normalizează reprezentarea binară a numărului.
Mută virgula cu 4 poziții la stânga, astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de 0:
20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738(10) =
1 0100,0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0(2) =
1 0100,0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0(2) × 20 =
1,0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0(2) × 24
7. Până la acest moment avem următoarele elemente ce vor alcătui numărul binar în reprezentare IEEE 754, precizie dublă (64 biți):
Semn 0 (un număr pozitiv)
Exponent (neajustat): 4
Mantisă (nenormalizată):
1,0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0
8. Ajustează exponentul.
Folosește reprezentarea deplasată pe 11 biți:
Exponent (ajustat) =
Exponent (neajustat) + 2(11-1) - 1 =
4 + 2(11-1) - 1 =
(4 + 1 023)(10) =
1 027(10)
9. Convertește exponentul ajustat din zecimal (baza 10) în binar pe 11 biți.
Folosește din nou tehnica împărțirii repetate la 2:
- împărțire = cât + rest;
- 1 027 : 2 = 513 + 1;
- 513 : 2 = 256 + 1;
- 256 : 2 = 128 + 0;
- 128 : 2 = 64 + 0;
- 64 : 2 = 32 + 0;
- 32 : 2 = 16 + 0;
- 16 : 2 = 8 + 0;
- 8 : 2 = 4 + 0;
- 4 : 2 = 2 + 0;
- 2 : 2 = 1 + 0;
- 1 : 2 = 0 + 1;
10. Construiește reprezentarea în baza 2 a exponentului ajustat.
Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.
Exponent (ajustat) =
1027(10) =
100 0000 0011(2)
11. Normalizează mantisa.
a) Renunță la primul bit, cel mai din stânga, care e întotdeauna 1, și la separatorul zecimal, dacă e cazul.
b) Ajustează-i lungimea la 52 biți, prin renunțarea la biții în exces, din dreapta (dacă măcar unul din acești biți în exces e setat pe 1, se pierde din precizie...).
Mantisă (normalizată) =
1. 0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0 1010 =
0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101
12. Cele trei elemente care alcătuiesc reprezentarea numărului în sistem binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754:
Semn (1 bit) =
0 (un număr pozitiv)
Exponent (11 biți) =
100 0000 0011
Mantisă (52 biți) =
0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101
Numărul zecimal 20,333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 738 scris în binar în representarea pe 64 biți, precizie dublă, în virgulă mobilă în standard IEEE 754:
0 - 100 0000 0011 - 0100 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101