1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2 scris ca binar pe 64 biți, precizie dublă, virgulă mobilă în standard IEEE 754
Scriere 1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2(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
1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2(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ă: 1.
Î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;
- 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.
1(10) =
1(2)
3. Convertește în binar (baza 2) partea fracționară: 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2.
Î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,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 028 4;
- 2) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 028 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 056 8;
- 3) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 056 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 113 6;
- 4) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 113 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 227 2;
- 5) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 227 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 454 4;
- 6) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 454 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 908 8;
- 7) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 908 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 817 6;
- 8) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 817 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 635 2;
- 9) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 635 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 270 4;
- 10) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 270 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 540 8;
- 11) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 540 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 029 081 6;
- 12) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 029 081 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 058 163 2;
- 13) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 058 163 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 116 326 4;
- 14) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 116 326 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 232 652 8;
- 15) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 232 652 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 465 305 6;
- 16) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 465 305 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 930 611 2;
- 17) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 930 611 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 861 222 4;
- 18) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 861 222 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 722 444 8;
- 19) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 722 444 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 444 889 6;
- 20) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 444 889 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 889 779 2;
- 21) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 889 779 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 029 779 558 4;
- 22) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 029 779 558 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 059 559 116 8;
- 23) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 059 559 116 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 119 118 233 6;
- 24) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 119 118 233 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 238 236 467 2;
- 25) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 238 236 467 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 476 472 934 4;
- 26) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 476 472 934 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 952 945 868 8;
- 27) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 952 945 868 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 905 891 737 6;
- 28) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 905 891 737 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 811 783 475 2;
- 29) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 811 783 475 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 623 566 950 4;
- 30) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 623 566 950 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 247 133 900 8;
- 31) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 247 133 900 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 030 494 267 801 6;
- 32) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 030 494 267 801 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 060 988 535 603 2;
- 33) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 060 988 535 603 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 121 977 071 206 4;
- 34) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 121 977 071 206 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 243 954 142 412 8;
- 35) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 243 954 142 412 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 487 908 284 825 6;
- 36) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 487 908 284 825 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 975 816 569 651 2;
- 37) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 975 816 569 651 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 951 633 139 302 4;
- 38) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 951 633 139 302 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 903 266 278 604 8;
- 39) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 903 266 278 604 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 806 532 557 209 6;
- 40) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 806 532 557 209 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 613 065 114 419 2;
- 41) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 613 065 114 419 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 031 226 130 228 838 4;
- 42) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 031 226 130 228 838 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 062 452 260 457 676 8;
- 43) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 062 452 260 457 676 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 124 904 520 915 353 6;
- 44) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 124 904 520 915 353 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 249 809 041 830 707 2;
- 45) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 249 809 041 830 707 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 499 618 083 661 414 4;
- 46) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 499 618 083 661 414 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 999 236 167 322 828 8;
- 47) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 999 236 167 322 828 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 998 472 334 645 657 6;
- 48) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 998 472 334 645 657 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 996 944 669 291 315 2;
- 49) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 003 996 944 669 291 315 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 993 889 338 582 630 4;
- 50) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 007 993 889 338 582 630 4 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 987 778 677 165 260 8;
- 51) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 015 987 778 677 165 260 8 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 031 975 557 354 330 521 6;
- 52) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 031 975 557 354 330 521 6 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 063 951 114 708 661 043 2;
- 53) 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 063 951 114 708 661 043 2 × 2 = 0 + 0,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 127 902 229 417 322 086 4;
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,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0(2)
5. Numărul pozitiv înainte de normalizare:
1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2(10) =
1,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0(2)
6. Normalizează reprezentarea binară a numărului.
Mută virgula cu 0 poziții la stânga, astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de 0:
1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2(10) =
1,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0(2) =
1,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0(2) × 20
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): 0
Mantisă (nenormalizată):
1,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0
8. Ajustează exponentul.
Folosește reprezentarea deplasată pe 11 biți:
Exponent (ajustat) =
Exponent (neajustat) + 2(11-1) - 1 =
0 + 2(11-1) - 1 =
(0 + 1 023)(10) =
1 023(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 023 : 2 = 511 + 1;
- 511 : 2 = 255 + 1;
- 255 : 2 = 127 + 1;
- 127 : 2 = 63 + 1;
- 63 : 2 = 31 + 1;
- 31 : 2 = 15 + 1;
- 15 : 2 = 7 + 1;
- 7 : 2 = 3 + 1;
- 3 : 2 = 1 + 1;
- 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) =
1023(10) =
011 1111 1111(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. 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0 =
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
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) =
011 1111 1111
Mantisă (52 biți) =
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
Numărul zecimal 1,000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 014 2 scris în binar în representarea pe 64 biți, precizie dublă, în virgulă mobilă în standard IEEE 754:
0 - 011 1111 1111 - 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000