24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543 scris ca binar pe 64 biți, precizie dublă, virgulă mobilă în standard IEEE 754
Scriere 24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543(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
24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543(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ă: 24.
Î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;
- 24 : 2 = 12 + 0;
- 12 : 2 = 6 + 0;
- 6 : 2 = 3 + 0;
- 3 : 2 = 1 + 1;
- 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.
24(10) =
1 1000(2)
3. Convertește în binar (baza 2) partea fracționară: 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543.
Î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,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 086;
- 2) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 086 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 172;
- 3) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 172 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 220 344;
- 4) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 220 344 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 440 688;
- 5) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 440 688 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 881 376;
- 6) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 881 376 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 762 752;
- 7) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 762 752 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 525 504;
- 8) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 525 504 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 051 008;
- 9) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 051 008 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 102 016;
- 10) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 102 016 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 204 032;
- 11) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 204 032 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 408 064;
- 12) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 408 064 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 816 128;
- 13) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 816 128 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 553 632 256;
- 14) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 553 632 256 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 107 264 512;
- 15) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 107 264 512 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 214 529 024;
- 16) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 214 529 024 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 429 058 048;
- 17) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 429 058 048 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 858 116 096;
- 18) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 858 116 096 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 716 232 192;
- 19) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 716 232 192 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 432 464 384;
- 20) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 432 464 384 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 864 928 768;
- 21) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 864 928 768 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 729 857 536;
- 22) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 729 857 536 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 459 715 072;
- 23) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 459 715 072 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 886 919 430 144;
- 24) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 886 919 430 144 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 773 838 860 288;
- 25) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 773 838 860 288 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 547 677 720 576;
- 26) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 547 677 720 576 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 095 355 441 152;
- 27) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 095 355 441 152 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 190 710 882 304;
- 28) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 190 710 882 304 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 381 421 764 608;
- 29) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 381 421 764 608 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 762 843 529 216;
- 30) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 762 843 529 216 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 525 687 058 432;
- 31) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 525 687 058 432 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 051 374 116 864;
- 32) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 051 374 116 864 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 102 748 233 728;
- 33) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 102 748 233 728 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 220 205 496 467 456;
- 34) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 220 205 496 467 456 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 440 410 992 934 912;
- 35) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 440 410 992 934 912 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 880 821 985 869 824;
- 36) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 880 821 985 869 824 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 761 643 971 739 648;
- 37) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 761 643 971 739 648 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 523 287 943 479 296;
- 38) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 523 287 943 479 296 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 046 575 886 958 592;
- 39) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 046 575 886 958 592 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 093 151 773 917 184;
- 40) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 093 151 773 917 184 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 186 303 547 834 368;
- 41) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 186 303 547 834 368 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 372 607 095 668 736;
- 42) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 372 607 095 668 736 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 745 214 191 337 472;
- 43) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 745 214 191 337 472 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 553 490 428 382 674 944;
- 44) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 553 490 428 382 674 944 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 106 980 856 765 349 888;
- 45) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 106 980 856 765 349 888 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 213 961 713 530 699 776;
- 46) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 213 961 713 530 699 776 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 427 923 427 061 399 552;
- 47) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 427 923 427 061 399 552 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 855 846 854 122 799 104;
- 48) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 855 846 854 122 799 104 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 711 693 708 245 598 208;
- 49) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 711 693 708 245 598 208 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 423 387 416 491 196 416;
- 50) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 423 387 416 491 196 416 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 846 774 832 982 392 832;
- 51) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 846 774 832 982 392 832 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 693 549 665 964 785 664;
- 52) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 693 549 665 964 785 664 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 387 099 331 929 571 328;
- 53) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 387 099 331 929 571 328 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 886 774 198 663 859 142 656;
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,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543(10) =
0,1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0(2)
5. Numărul pozitiv înainte de normalizare:
24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543(10) =
1 1000,1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 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:
24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543(10) =
1 1000,1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0(2) =
1 1000,1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0(2) × 20 =
1,1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 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,1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 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. 1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001 1 1000 =
1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001
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) =
1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001
Numărul zecimal 24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 543 scris în binar în representarea pe 64 biți, precizie dublă, în virgulă mobilă în standard IEEE 754:
0 - 100 0000 0011 - 1000 1100 0111 0001 1100 0111 0001 1100 0111 0001 1100 0111 0001