-0,000 000 000 000 000 000 000 121 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754
Scriere -0,000 000 000 000 000 000 000 121(10) din zecimal în binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 8 biți pentru exponent, 23 de biți pentru mantisă)
Care sunt pașii pentru a scrie numărul
-0,000 000 000 000 000 000 000 121(10) din zecimal în binar în reprezentarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754 (1 bit pentru semn, 8 biți pentru exponent, 23 de biți pentru mantisă)
1. Începe cu versiunea pozitivă a numărului:
|-0,000 000 000 000 000 000 000 121| = 0,000 000 000 000 000 000 000 121
2. Întâi convertește în binar (în baza 2) partea întreagă: 0.
Î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;
- 0 : 2 = 0 + 0;
3. 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.
0(10) =
0(2)
4. Convertește în binar (baza 2) partea fracționară: 0,000 000 000 000 000 000 000 121.
Î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 121 × 2 = 0 + 0,000 000 000 000 000 000 000 242;
- 2) 0,000 000 000 000 000 000 000 242 × 2 = 0 + 0,000 000 000 000 000 000 000 484;
- 3) 0,000 000 000 000 000 000 000 484 × 2 = 0 + 0,000 000 000 000 000 000 000 968;
- 4) 0,000 000 000 000 000 000 000 968 × 2 = 0 + 0,000 000 000 000 000 000 001 936;
- 5) 0,000 000 000 000 000 000 001 936 × 2 = 0 + 0,000 000 000 000 000 000 003 872;
- 6) 0,000 000 000 000 000 000 003 872 × 2 = 0 + 0,000 000 000 000 000 000 007 744;
- 7) 0,000 000 000 000 000 000 007 744 × 2 = 0 + 0,000 000 000 000 000 000 015 488;
- 8) 0,000 000 000 000 000 000 015 488 × 2 = 0 + 0,000 000 000 000 000 000 030 976;
- 9) 0,000 000 000 000 000 000 030 976 × 2 = 0 + 0,000 000 000 000 000 000 061 952;
- 10) 0,000 000 000 000 000 000 061 952 × 2 = 0 + 0,000 000 000 000 000 000 123 904;
- 11) 0,000 000 000 000 000 000 123 904 × 2 = 0 + 0,000 000 000 000 000 000 247 808;
- 12) 0,000 000 000 000 000 000 247 808 × 2 = 0 + 0,000 000 000 000 000 000 495 616;
- 13) 0,000 000 000 000 000 000 495 616 × 2 = 0 + 0,000 000 000 000 000 000 991 232;
- 14) 0,000 000 000 000 000 000 991 232 × 2 = 0 + 0,000 000 000 000 000 001 982 464;
- 15) 0,000 000 000 000 000 001 982 464 × 2 = 0 + 0,000 000 000 000 000 003 964 928;
- 16) 0,000 000 000 000 000 003 964 928 × 2 = 0 + 0,000 000 000 000 000 007 929 856;
- 17) 0,000 000 000 000 000 007 929 856 × 2 = 0 + 0,000 000 000 000 000 015 859 712;
- 18) 0,000 000 000 000 000 015 859 712 × 2 = 0 + 0,000 000 000 000 000 031 719 424;
- 19) 0,000 000 000 000 000 031 719 424 × 2 = 0 + 0,000 000 000 000 000 063 438 848;
- 20) 0,000 000 000 000 000 063 438 848 × 2 = 0 + 0,000 000 000 000 000 126 877 696;
- 21) 0,000 000 000 000 000 126 877 696 × 2 = 0 + 0,000 000 000 000 000 253 755 392;
- 22) 0,000 000 000 000 000 253 755 392 × 2 = 0 + 0,000 000 000 000 000 507 510 784;
- 23) 0,000 000 000 000 000 507 510 784 × 2 = 0 + 0,000 000 000 000 001 015 021 568;
- 24) 0,000 000 000 000 001 015 021 568 × 2 = 0 + 0,000 000 000 000 002 030 043 136;
- 25) 0,000 000 000 000 002 030 043 136 × 2 = 0 + 0,000 000 000 000 004 060 086 272;
- 26) 0,000 000 000 000 004 060 086 272 × 2 = 0 + 0,000 000 000 000 008 120 172 544;
- 27) 0,000 000 000 000 008 120 172 544 × 2 = 0 + 0,000 000 000 000 016 240 345 088;
- 28) 0,000 000 000 000 016 240 345 088 × 2 = 0 + 0,000 000 000 000 032 480 690 176;
- 29) 0,000 000 000 000 032 480 690 176 × 2 = 0 + 0,000 000 000 000 064 961 380 352;
- 30) 0,000 000 000 000 064 961 380 352 × 2 = 0 + 0,000 000 000 000 129 922 760 704;
- 31) 0,000 000 000 000 129 922 760 704 × 2 = 0 + 0,000 000 000 000 259 845 521 408;
- 32) 0,000 000 000 000 259 845 521 408 × 2 = 0 + 0,000 000 000 000 519 691 042 816;
- 33) 0,000 000 000 000 519 691 042 816 × 2 = 0 + 0,000 000 000 001 039 382 085 632;
- 34) 0,000 000 000 001 039 382 085 632 × 2 = 0 + 0,000 000 000 002 078 764 171 264;
- 35) 0,000 000 000 002 078 764 171 264 × 2 = 0 + 0,000 000 000 004 157 528 342 528;
- 36) 0,000 000 000 004 157 528 342 528 × 2 = 0 + 0,000 000 000 008 315 056 685 056;
- 37) 0,000 000 000 008 315 056 685 056 × 2 = 0 + 0,000 000 000 016 630 113 370 112;
- 38) 0,000 000 000 016 630 113 370 112 × 2 = 0 + 0,000 000 000 033 260 226 740 224;
- 39) 0,000 000 000 033 260 226 740 224 × 2 = 0 + 0,000 000 000 066 520 453 480 448;
- 40) 0,000 000 000 066 520 453 480 448 × 2 = 0 + 0,000 000 000 133 040 906 960 896;
- 41) 0,000 000 000 133 040 906 960 896 × 2 = 0 + 0,000 000 000 266 081 813 921 792;
- 42) 0,000 000 000 266 081 813 921 792 × 2 = 0 + 0,000 000 000 532 163 627 843 584;
- 43) 0,000 000 000 532 163 627 843 584 × 2 = 0 + 0,000 000 001 064 327 255 687 168;
- 44) 0,000 000 001 064 327 255 687 168 × 2 = 0 + 0,000 000 002 128 654 511 374 336;
- 45) 0,000 000 002 128 654 511 374 336 × 2 = 0 + 0,000 000 004 257 309 022 748 672;
- 46) 0,000 000 004 257 309 022 748 672 × 2 = 0 + 0,000 000 008 514 618 045 497 344;
- 47) 0,000 000 008 514 618 045 497 344 × 2 = 0 + 0,000 000 017 029 236 090 994 688;
- 48) 0,000 000 017 029 236 090 994 688 × 2 = 0 + 0,000 000 034 058 472 181 989 376;
- 49) 0,000 000 034 058 472 181 989 376 × 2 = 0 + 0,000 000 068 116 944 363 978 752;
- 50) 0,000 000 068 116 944 363 978 752 × 2 = 0 + 0,000 000 136 233 888 727 957 504;
- 51) 0,000 000 136 233 888 727 957 504 × 2 = 0 + 0,000 000 272 467 777 455 915 008;
- 52) 0,000 000 272 467 777 455 915 008 × 2 = 0 + 0,000 000 544 935 554 911 830 016;
- 53) 0,000 000 544 935 554 911 830 016 × 2 = 0 + 0,000 001 089 871 109 823 660 032;
- 54) 0,000 001 089 871 109 823 660 032 × 2 = 0 + 0,000 002 179 742 219 647 320 064;
- 55) 0,000 002 179 742 219 647 320 064 × 2 = 0 + 0,000 004 359 484 439 294 640 128;
- 56) 0,000 004 359 484 439 294 640 128 × 2 = 0 + 0,000 008 718 968 878 589 280 256;
- 57) 0,000 008 718 968 878 589 280 256 × 2 = 0 + 0,000 017 437 937 757 178 560 512;
- 58) 0,000 017 437 937 757 178 560 512 × 2 = 0 + 0,000 034 875 875 514 357 121 024;
- 59) 0,000 034 875 875 514 357 121 024 × 2 = 0 + 0,000 069 751 751 028 714 242 048;
- 60) 0,000 069 751 751 028 714 242 048 × 2 = 0 + 0,000 139 503 502 057 428 484 096;
- 61) 0,000 139 503 502 057 428 484 096 × 2 = 0 + 0,000 279 007 004 114 856 968 192;
- 62) 0,000 279 007 004 114 856 968 192 × 2 = 0 + 0,000 558 014 008 229 713 936 384;
- 63) 0,000 558 014 008 229 713 936 384 × 2 = 0 + 0,001 116 028 016 459 427 872 768;
- 64) 0,001 116 028 016 459 427 872 768 × 2 = 0 + 0,002 232 056 032 918 855 745 536;
- 65) 0,002 232 056 032 918 855 745 536 × 2 = 0 + 0,004 464 112 065 837 711 491 072;
- 66) 0,004 464 112 065 837 711 491 072 × 2 = 0 + 0,008 928 224 131 675 422 982 144;
- 67) 0,008 928 224 131 675 422 982 144 × 2 = 0 + 0,017 856 448 263 350 845 964 288;
- 68) 0,017 856 448 263 350 845 964 288 × 2 = 0 + 0,035 712 896 526 701 691 928 576;
- 69) 0,035 712 896 526 701 691 928 576 × 2 = 0 + 0,071 425 793 053 403 383 857 152;
- 70) 0,071 425 793 053 403 383 857 152 × 2 = 0 + 0,142 851 586 106 806 767 714 304;
- 71) 0,142 851 586 106 806 767 714 304 × 2 = 0 + 0,285 703 172 213 613 535 428 608;
- 72) 0,285 703 172 213 613 535 428 608 × 2 = 0 + 0,571 406 344 427 227 070 857 216;
- 73) 0,571 406 344 427 227 070 857 216 × 2 = 1 + 0,142 812 688 854 454 141 714 432;
- 74) 0,142 812 688 854 454 141 714 432 × 2 = 0 + 0,285 625 377 708 908 283 428 864;
- 75) 0,285 625 377 708 908 283 428 864 × 2 = 0 + 0,571 250 755 417 816 566 857 728;
- 76) 0,571 250 755 417 816 566 857 728 × 2 = 1 + 0,142 501 510 835 633 133 715 456;
- 77) 0,142 501 510 835 633 133 715 456 × 2 = 0 + 0,285 003 021 671 266 267 430 912;
- 78) 0,285 003 021 671 266 267 430 912 × 2 = 0 + 0,570 006 043 342 532 534 861 824;
- 79) 0,570 006 043 342 532 534 861 824 × 2 = 1 + 0,140 012 086 685 065 069 723 648;
- 80) 0,140 012 086 685 065 069 723 648 × 2 = 0 + 0,280 024 173 370 130 139 447 296;
- 81) 0,280 024 173 370 130 139 447 296 × 2 = 0 + 0,560 048 346 740 260 278 894 592;
- 82) 0,560 048 346 740 260 278 894 592 × 2 = 1 + 0,120 096 693 480 520 557 789 184;
- 83) 0,120 096 693 480 520 557 789 184 × 2 = 0 + 0,240 193 386 961 041 115 578 368;
- 84) 0,240 193 386 961 041 115 578 368 × 2 = 0 + 0,480 386 773 922 082 231 156 736;
- 85) 0,480 386 773 922 082 231 156 736 × 2 = 0 + 0,960 773 547 844 164 462 313 472;
- 86) 0,960 773 547 844 164 462 313 472 × 2 = 1 + 0,921 547 095 688 328 924 626 944;
- 87) 0,921 547 095 688 328 924 626 944 × 2 = 1 + 0,843 094 191 376 657 849 253 888;
- 88) 0,843 094 191 376 657 849 253 888 × 2 = 1 + 0,686 188 382 753 315 698 507 776;
- 89) 0,686 188 382 753 315 698 507 776 × 2 = 1 + 0,372 376 765 506 631 397 015 552;
- 90) 0,372 376 765 506 631 397 015 552 × 2 = 0 + 0,744 753 531 013 262 794 031 104;
- 91) 0,744 753 531 013 262 794 031 104 × 2 = 1 + 0,489 507 062 026 525 588 062 208;
- 92) 0,489 507 062 026 525 588 062 208 × 2 = 0 + 0,979 014 124 053 051 176 124 416;
- 93) 0,979 014 124 053 051 176 124 416 × 2 = 1 + 0,958 028 248 106 102 352 248 832;
- 94) 0,958 028 248 106 102 352 248 832 × 2 = 1 + 0,916 056 496 212 204 704 497 664;
- 95) 0,916 056 496 212 204 704 497 664 × 2 = 1 + 0,832 112 992 424 409 408 995 328;
- 96) 0,832 112 992 424 409 408 995 328 × 2 = 1 + 0,664 225 984 848 818 817 990 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).
5. 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 121(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1001 0010 0100 0111 1010 1111(2)
6. Numărul pozitiv înainte de normalizare:
0,000 000 000 000 000 000 000 121(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1001 0010 0100 0111 1010 1111(2)
7. Normalizează reprezentarea binară a numărului.
Mută virgula cu 73 poziții la dreapta, astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de 0:
0,000 000 000 000 000 000 000 121(10) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1001 0010 0100 0111 1010 1111(2) =
0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1001 0010 0100 0111 1010 1111(2) × 20 =
1,0010 0100 1000 1111 0101 111(2) × 2-73
8. Până la acest moment avem următoarele elemente ce vor alcătui numărul binar în reprezentare IEEE 754, precizie simplă (32 biți):
Semn 1 (un număr negativ)
Exponent (neajustat): -73
Mantisă (nenormalizată):
1,0010 0100 1000 1111 0101 111
9. Ajustează exponentul.
Folosește reprezentarea deplasată pe 8 biți:
Exponent (ajustat) =
Exponent (neajustat) + 2(8-1) - 1 =
-73 + 2(8-1) - 1 =
(-73 + 127)(10) =
54(10)
10. Convertește exponentul ajustat din zecimal (baza 10) în binar pe 8 biți.
Folosește din nou tehnica împărțirii repetate la 2:
- împărțire = cât + rest;
- 54 : 2 = 27 + 0;
- 27 : 2 = 13 + 1;
- 13 : 2 = 6 + 1;
- 6 : 2 = 3 + 0;
- 3 : 2 = 1 + 1;
- 1 : 2 = 0 + 1;
11. 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) =
54(10) =
0011 0110(2)
12. 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 23 biți, doar dacă e necesar (nu e cazul aici).
Mantisă (normalizată) =
1. 001 0010 0100 0111 1010 1111 =
001 0010 0100 0111 1010 1111
13. Cele trei elemente care alcătuiesc reprezentarea numărului în sistem binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754:
Semn (1 bit) =
1 (un număr negativ)
Exponent (8 biți) =
0011 0110
Mantisă (23 biți) =
001 0010 0100 0111 1010 1111
Numărul zecimal -0,000 000 000 000 000 000 000 121 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:
1 - 0011 0110 - 001 0010 0100 0111 1010 1111