24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 444 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 444(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 444(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 444.
Î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 444 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 554 888;
- 2) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 554 888 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 109 776;
- 3) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 109 776 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 219 552;
- 4) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 219 552 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 439 104;
- 5) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 439 104 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 878 208;
- 6) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 878 208 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 756 416;
- 7) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 756 416 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 512 832;
- 8) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 512 832 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 025 664;
- 9) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 025 664 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 051 328;
- 10) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 051 328 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 102 656;
- 11) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 102 656 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 205 312;
- 12) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 205 312 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 410 624;
- 13) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 410 624 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 552 821 248;
- 14) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 552 821 248 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 105 642 496;
- 15) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 105 642 496 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 211 284 992;
- 16) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 211 284 992 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 422 569 984;
- 17) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 422 569 984 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 845 139 968;
- 18) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 845 139 968 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 690 279 936;
- 19) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 690 279 936 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 380 559 872;
- 20) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 380 559 872 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 761 119 744;
- 21) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 761 119 744 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 522 239 488;
- 22) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 522 239 488 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 044 478 976;
- 23) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 443 044 478 976 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 886 088 957 952;
- 24) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 886 088 957 952 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 772 177 915 904;
- 25) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 772 177 915 904 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 544 355 831 808;
- 26) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 544 355 831 808 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 088 711 663 616;
- 27) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 088 711 663 616 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 177 423 327 232;
- 28) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 177 423 327 232 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 354 846 654 464;
- 29) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 354 846 654 464 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 709 693 308 928;
- 30) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 709 693 308 928 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 419 386 617 856;
- 31) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 419 386 617 856 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 554 838 773 235 712;
- 32) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 554 838 773 235 712 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 109 677 546 471 424;
- 33) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 109 677 546 471 424 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 219 355 092 942 848;
- 34) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 219 355 092 942 848 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 438 710 185 885 696;
- 35) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 438 710 185 885 696 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 877 420 371 771 392;
- 36) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 877 420 371 771 392 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 754 840 743 542 784;
- 37) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 754 840 743 542 784 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 509 681 487 085 568;
- 38) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 509 681 487 085 568 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 019 362 974 171 136;
- 39) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 019 362 974 171 136 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 038 725 948 342 272;
- 40) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 038 725 948 342 272 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 077 451 896 684 544;
- 41) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 077 451 896 684 544 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 154 903 793 369 088;
- 42) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 154 903 793 369 088 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 309 807 586 738 176;
- 43) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 776 309 807 586 738 176 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 552 619 615 173 476 352;
- 44) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 552 619 615 173 476 352 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 105 239 230 346 952 704;
- 45) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 105 239 230 346 952 704 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 210 478 460 693 905 408;
- 46) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 210 478 460 693 905 408 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 420 956 921 387 810 816;
- 47) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 420 956 921 387 810 816 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 841 913 842 775 621 632;
- 48) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 841 913 842 775 621 632 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 683 827 685 551 243 264;
- 49) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 683 827 685 551 243 264 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 367 655 371 102 486 528;
- 50) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 367 655 371 102 486 528 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 735 310 742 204 973 056;
- 51) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 735 310 742 204 973 056 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 470 621 484 409 946 112;
- 52) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 221 470 621 484 409 946 112 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 442 941 242 968 819 892 224;
- 53) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 442 941 242 968 819 892 224 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 885 882 485 937 639 784 448;
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 444(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 444(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 444(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 444 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