24,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 780 1 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 780 1(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 780 1(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 780 1.
Î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 780 1 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 560 2;
- 2) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 560 2 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 120 4;
- 3) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 120 4 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 240 8;
- 4) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 240 8 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 481 6;
- 5) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 481 6 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 963 2;
- 6) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 963 2 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 926 4;
- 7) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 926 4 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 852 8;
- 8) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 852 8 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 705 6;
- 9) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 705 6 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 223 411 2;
- 10) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 223 411 2 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 446 822 4;
- 11) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 446 822 4 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 893 644 8;
- 12) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 893 644 8 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 787 289 6;
- 13) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 787 289 6 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 574 579 2;
- 14) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 574 579 2 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 149 158 4;
- 15) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 149 158 4 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 298 316 8;
- 16) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 298 316 8 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 596 633 6;
- 17) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 596 633 6 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 889 193 267 2;
- 18) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 889 193 267 2 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 778 386 534 4;
- 19) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 778 386 534 4 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 556 773 068 8;
- 20) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 556 773 068 8 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 113 546 137 6;
- 21) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 113 546 137 6 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 227 092 275 2;
- 22) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 227 092 275 2 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 454 184 550 4;
- 23) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 454 184 550 4 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 908 369 100 8;
- 24) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 908 369 100 8 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 816 738 201 6;
- 25) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 816 738 201 6 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 633 476 403 2;
- 26) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 633 476 403 2 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 266 952 806 4;
- 27) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 266 952 806 4 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 533 905 612 8;
- 28) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 533 905 612 8 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 445 067 811 225 6;
- 29) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 445 067 811 225 6 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 890 135 622 451 2;
- 30) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 890 135 622 451 2 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 780 271 244 902 4;
- 31) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 780 271 244 902 4 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 560 542 489 804 8;
- 32) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 560 542 489 804 8 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 121 084 979 609 6;
- 33) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 121 084 979 609 6 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 242 169 959 219 2;
- 34) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 242 169 959 219 2 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 484 339 918 438 4;
- 35) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 484 339 918 438 4 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 968 679 836 876 8;
- 36) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 968 679 836 876 8 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 937 359 673 753 6;
- 37) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 937 359 673 753 6 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 874 719 347 507 2;
- 38) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 874 719 347 507 2 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 749 438 695 014 4;
- 39) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 749 438 695 014 4 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 223 498 877 390 028 8;
- 40) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 223 498 877 390 028 8 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 446 997 754 780 057 6;
- 41) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 446 997 754 780 057 6 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 893 995 509 560 115 2;
- 42) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 893 995 509 560 115 2 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 787 991 019 120 230 4;
- 43) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 787 991 019 120 230 4 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 575 982 038 240 460 8;
- 44) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 575 982 038 240 460 8 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 151 964 076 480 921 6;
- 45) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 151 964 076 480 921 6 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 303 928 152 961 843 2;
- 46) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 303 928 152 961 843 2 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 607 856 305 923 686 4;
- 47) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 607 856 305 923 686 4 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 889 215 712 611 847 372 8;
- 48) 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 889 215 712 611 847 372 8 × 2 = 1 + 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 778 431 425 223 694 745 6;
- 49) 0,777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 777 778 431 425 223 694 745 6 × 2 = 1 + 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 556 862 850 447 389 491 2;
- 50) 0,555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 555 556 862 850 447 389 491 2 × 2 = 1 + 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 113 725 700 894 778 982 4;
- 51) 0,111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 113 725 700 894 778 982 4 × 2 = 0 + 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 227 451 401 789 557 964 8;
- 52) 0,222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 222 227 451 401 789 557 964 8 × 2 = 0 + 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 454 902 803 579 115 929 6;
- 53) 0,444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 444 454 902 803 579 115 929 6 × 2 = 0 + 0,888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 909 805 607 158 231 859 2;
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 780 1(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 780 1(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 780 1(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 780 1 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