Care sunt pașii pentru a scrie
1 - 111 0111 0111 - 1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0000 0000, binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754 ca număr zecimal?
1. Identifică elementele ce alcătuiesc reprezentarea numărului binar:
Primul bit (cel mai din stânga) indică semnul,
1 = negativ, 0 = pozitiv.
1
Următorii 11 biți conțin exponentul:
111 0111 0111
Ultimii 52 de biți conțin mantisa:
1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0000 0000
2. Convertește exponentul din binar (din baza 2) în zecimal (în baza 10).
Exponentul e întotdeauna un număr întreg pozitiv.
111 0111 0111(2) =
1 × 210 + 1 × 29 + 1 × 28 + 0 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20 =
1.024 + 512 + 256 + 0 + 64 + 32 + 16 + 0 + 4 + 2 + 1 =
1.024 + 512 + 256 + 64 + 32 + 16 + 4 + 2 + 1 =
1.911(10)
3. Ajustează exponentul.
Scade excesul de biți: 2(11 - 1) - 1 = 1023,
datorat reprezentării deplasate pe 11 biți.
Exponentul, ajustat = 1.911 - 1023 = 888
4. Convertește mantisa din binar (din baza 2) în zecimal (în baza 10).
Mantisa reprezintă partea fracționară a numărului (ceea ce urmează după partea întreagă a numărului, separată de aceasta prin virgulă).
1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0000 0000(2) =
1 × 2-1 + 1 × 2-2 + 0 × 2-3 + 1 × 2-4 + 1 × 2-5 + 0 × 2-6 + 0 × 2-7 + 1 × 2-8 + 0 × 2-9 + 0 × 2-10 + 0 × 2-11 + 0 × 2-12 + 1 × 2-13 + 1 × 2-14 + 0 × 2-15 + 0 × 2-16 + 0 × 2-17 + 0 × 2-18 + 0 × 2-19 + 0 × 2-20 + 0 × 2-21 + 0 × 2-22 + 0 × 2-23 + 0 × 2-24 + 0 × 2-25 + 0 × 2-26 + 0 × 2-27 + 0 × 2-28 + 0 × 2-29 + 0 × 2-30 + 0 × 2-31 + 0 × 2-32 + 0 × 2-33 + 0 × 2-34 + 0 × 2-35 + 0 × 2-36 + 0 × 2-37 + 0 × 2-38 + 0 × 2-39 + 0 × 2-40 + 0 × 2-41 + 0 × 2-42 + 0 × 2-43 + 0 × 2-44 + 0 × 2-45 + 0 × 2-46 + 0 × 2-47 + 0 × 2-48 + 0 × 2-49 + 0 × 2-50 + 0 × 2-51 + 0 × 2-52 =
0,5 + 0,25 + 0 + 0,062 5 + 0,031 25 + 0 + 0 + 0,003 906 25 + 0 + 0 + 0 + 0 + 0,000 122 070 312 5 + 0,000 061 035 156 25 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 =
0,5 + 0,25 + 0,062 5 + 0,031 25 + 0,003 906 25 + 0,000 122 070 312 5 + 0,000 061 035 156 25 =
0,847 839 355 468 75(10)
5. Pune toate numerele împreună, pentru a calcula valoarea numărului zecimal real în precizie simplă:
(-1)Semn × (1 + Mantisă) × 2(Exponent ajustat) =
(-1)1 × (1 + 0,847 839 355 468 75) × 2888 =
-1,847 839 355 468 75 × 2888 = ...
= -3 813 294 632 466 379 483 536 979 434 096 226 754 750 753 115 592 856 188 398 363 701 291 692 829 109 393 386 981 006 246 089 654 293 897 454 096 894 469 158 829 012 649 622 903 777 275 147 454 159 966 825 411 534 644 808 309 049 349 596 106 218 732 311 845 512 463 724 922 202 522 500 892 056 599 391 348 753 769 985 702 078 826 266 699 023 374 719 385 600
1 - 111 0111 0111 - 1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0000 0000, binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754, scris ca număr în sistem zecimal, scris în baza 10 (double) = -3 813 294 632 466 379 483 536 979 434 096 226 754 750 753 115 592 856 188 398 363 701 291 692 829 109 393 386 981 006 246 089 654 293 897 454 096 894 469 158 829 012 649 622 903 777 275 147 454 159 966 825 411 534 644 808 309 049 349 596 106 218 732 311 845 512 463 724 922 202 522 500 892 056 599 391 348 753 769 985 702 078 826 266 699 023 374 719 385 600(10)
Spații au fost folosite pentru a grupa digiți, în binar câte 4, în zecimal câte 3.