-0,000 000 000 000 000 051 120 130 87 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere -0,000 000 000 000 000 051 120 130 87(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 051 120 130 87(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 051 120 130 87| = 0,000 000 000 000 000 051 120 130 87


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 051 120 130 87.

Î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 051 120 130 87 × 2 = 0 + 0,000 000 000 000 000 102 240 261 74;
  • 2) 0,000 000 000 000 000 102 240 261 74 × 2 = 0 + 0,000 000 000 000 000 204 480 523 48;
  • 3) 0,000 000 000 000 000 204 480 523 48 × 2 = 0 + 0,000 000 000 000 000 408 961 046 96;
  • 4) 0,000 000 000 000 000 408 961 046 96 × 2 = 0 + 0,000 000 000 000 000 817 922 093 92;
  • 5) 0,000 000 000 000 000 817 922 093 92 × 2 = 0 + 0,000 000 000 000 001 635 844 187 84;
  • 6) 0,000 000 000 000 001 635 844 187 84 × 2 = 0 + 0,000 000 000 000 003 271 688 375 68;
  • 7) 0,000 000 000 000 003 271 688 375 68 × 2 = 0 + 0,000 000 000 000 006 543 376 751 36;
  • 8) 0,000 000 000 000 006 543 376 751 36 × 2 = 0 + 0,000 000 000 000 013 086 753 502 72;
  • 9) 0,000 000 000 000 013 086 753 502 72 × 2 = 0 + 0,000 000 000 000 026 173 507 005 44;
  • 10) 0,000 000 000 000 026 173 507 005 44 × 2 = 0 + 0,000 000 000 000 052 347 014 010 88;
  • 11) 0,000 000 000 000 052 347 014 010 88 × 2 = 0 + 0,000 000 000 000 104 694 028 021 76;
  • 12) 0,000 000 000 000 104 694 028 021 76 × 2 = 0 + 0,000 000 000 000 209 388 056 043 52;
  • 13) 0,000 000 000 000 209 388 056 043 52 × 2 = 0 + 0,000 000 000 000 418 776 112 087 04;
  • 14) 0,000 000 000 000 418 776 112 087 04 × 2 = 0 + 0,000 000 000 000 837 552 224 174 08;
  • 15) 0,000 000 000 000 837 552 224 174 08 × 2 = 0 + 0,000 000 000 001 675 104 448 348 16;
  • 16) 0,000 000 000 001 675 104 448 348 16 × 2 = 0 + 0,000 000 000 003 350 208 896 696 32;
  • 17) 0,000 000 000 003 350 208 896 696 32 × 2 = 0 + 0,000 000 000 006 700 417 793 392 64;
  • 18) 0,000 000 000 006 700 417 793 392 64 × 2 = 0 + 0,000 000 000 013 400 835 586 785 28;
  • 19) 0,000 000 000 013 400 835 586 785 28 × 2 = 0 + 0,000 000 000 026 801 671 173 570 56;
  • 20) 0,000 000 000 026 801 671 173 570 56 × 2 = 0 + 0,000 000 000 053 603 342 347 141 12;
  • 21) 0,000 000 000 053 603 342 347 141 12 × 2 = 0 + 0,000 000 000 107 206 684 694 282 24;
  • 22) 0,000 000 000 107 206 684 694 282 24 × 2 = 0 + 0,000 000 000 214 413 369 388 564 48;
  • 23) 0,000 000 000 214 413 369 388 564 48 × 2 = 0 + 0,000 000 000 428 826 738 777 128 96;
  • 24) 0,000 000 000 428 826 738 777 128 96 × 2 = 0 + 0,000 000 000 857 653 477 554 257 92;
  • 25) 0,000 000 000 857 653 477 554 257 92 × 2 = 0 + 0,000 000 001 715 306 955 108 515 84;
  • 26) 0,000 000 001 715 306 955 108 515 84 × 2 = 0 + 0,000 000 003 430 613 910 217 031 68;
  • 27) 0,000 000 003 430 613 910 217 031 68 × 2 = 0 + 0,000 000 006 861 227 820 434 063 36;
  • 28) 0,000 000 006 861 227 820 434 063 36 × 2 = 0 + 0,000 000 013 722 455 640 868 126 72;
  • 29) 0,000 000 013 722 455 640 868 126 72 × 2 = 0 + 0,000 000 027 444 911 281 736 253 44;
  • 30) 0,000 000 027 444 911 281 736 253 44 × 2 = 0 + 0,000 000 054 889 822 563 472 506 88;
  • 31) 0,000 000 054 889 822 563 472 506 88 × 2 = 0 + 0,000 000 109 779 645 126 945 013 76;
  • 32) 0,000 000 109 779 645 126 945 013 76 × 2 = 0 + 0,000 000 219 559 290 253 890 027 52;
  • 33) 0,000 000 219 559 290 253 890 027 52 × 2 = 0 + 0,000 000 439 118 580 507 780 055 04;
  • 34) 0,000 000 439 118 580 507 780 055 04 × 2 = 0 + 0,000 000 878 237 161 015 560 110 08;
  • 35) 0,000 000 878 237 161 015 560 110 08 × 2 = 0 + 0,000 001 756 474 322 031 120 220 16;
  • 36) 0,000 001 756 474 322 031 120 220 16 × 2 = 0 + 0,000 003 512 948 644 062 240 440 32;
  • 37) 0,000 003 512 948 644 062 240 440 32 × 2 = 0 + 0,000 007 025 897 288 124 480 880 64;
  • 38) 0,000 007 025 897 288 124 480 880 64 × 2 = 0 + 0,000 014 051 794 576 248 961 761 28;
  • 39) 0,000 014 051 794 576 248 961 761 28 × 2 = 0 + 0,000 028 103 589 152 497 923 522 56;
  • 40) 0,000 028 103 589 152 497 923 522 56 × 2 = 0 + 0,000 056 207 178 304 995 847 045 12;
  • 41) 0,000 056 207 178 304 995 847 045 12 × 2 = 0 + 0,000 112 414 356 609 991 694 090 24;
  • 42) 0,000 112 414 356 609 991 694 090 24 × 2 = 0 + 0,000 224 828 713 219 983 388 180 48;
  • 43) 0,000 224 828 713 219 983 388 180 48 × 2 = 0 + 0,000 449 657 426 439 966 776 360 96;
  • 44) 0,000 449 657 426 439 966 776 360 96 × 2 = 0 + 0,000 899 314 852 879 933 552 721 92;
  • 45) 0,000 899 314 852 879 933 552 721 92 × 2 = 0 + 0,001 798 629 705 759 867 105 443 84;
  • 46) 0,001 798 629 705 759 867 105 443 84 × 2 = 0 + 0,003 597 259 411 519 734 210 887 68;
  • 47) 0,003 597 259 411 519 734 210 887 68 × 2 = 0 + 0,007 194 518 823 039 468 421 775 36;
  • 48) 0,007 194 518 823 039 468 421 775 36 × 2 = 0 + 0,014 389 037 646 078 936 843 550 72;
  • 49) 0,014 389 037 646 078 936 843 550 72 × 2 = 0 + 0,028 778 075 292 157 873 687 101 44;
  • 50) 0,028 778 075 292 157 873 687 101 44 × 2 = 0 + 0,057 556 150 584 315 747 374 202 88;
  • 51) 0,057 556 150 584 315 747 374 202 88 × 2 = 0 + 0,115 112 301 168 631 494 748 405 76;
  • 52) 0,115 112 301 168 631 494 748 405 76 × 2 = 0 + 0,230 224 602 337 262 989 496 811 52;
  • 53) 0,230 224 602 337 262 989 496 811 52 × 2 = 0 + 0,460 449 204 674 525 978 993 623 04;
  • 54) 0,460 449 204 674 525 978 993 623 04 × 2 = 0 + 0,920 898 409 349 051 957 987 246 08;
  • 55) 0,920 898 409 349 051 957 987 246 08 × 2 = 1 + 0,841 796 818 698 103 915 974 492 16;
  • 56) 0,841 796 818 698 103 915 974 492 16 × 2 = 1 + 0,683 593 637 396 207 831 948 984 32;
  • 57) 0,683 593 637 396 207 831 948 984 32 × 2 = 1 + 0,367 187 274 792 415 663 897 968 64;
  • 58) 0,367 187 274 792 415 663 897 968 64 × 2 = 0 + 0,734 374 549 584 831 327 795 937 28;
  • 59) 0,734 374 549 584 831 327 795 937 28 × 2 = 1 + 0,468 749 099 169 662 655 591 874 56;
  • 60) 0,468 749 099 169 662 655 591 874 56 × 2 = 0 + 0,937 498 198 339 325 311 183 749 12;
  • 61) 0,937 498 198 339 325 311 183 749 12 × 2 = 1 + 0,874 996 396 678 650 622 367 498 24;
  • 62) 0,874 996 396 678 650 622 367 498 24 × 2 = 1 + 0,749 992 793 357 301 244 734 996 48;
  • 63) 0,749 992 793 357 301 244 734 996 48 × 2 = 1 + 0,499 985 586 714 602 489 469 992 96;
  • 64) 0,499 985 586 714 602 489 469 992 96 × 2 = 0 + 0,999 971 173 429 204 978 939 985 92;
  • 65) 0,999 971 173 429 204 978 939 985 92 × 2 = 1 + 0,999 942 346 858 409 957 879 971 84;
  • 66) 0,999 942 346 858 409 957 879 971 84 × 2 = 1 + 0,999 884 693 716 819 915 759 943 68;
  • 67) 0,999 884 693 716 819 915 759 943 68 × 2 = 1 + 0,999 769 387 433 639 831 519 887 36;
  • 68) 0,999 769 387 433 639 831 519 887 36 × 2 = 1 + 0,999 538 774 867 279 663 039 774 72;
  • 69) 0,999 538 774 867 279 663 039 774 72 × 2 = 1 + 0,999 077 549 734 559 326 079 549 44;
  • 70) 0,999 077 549 734 559 326 079 549 44 × 2 = 1 + 0,998 155 099 469 118 652 159 098 88;
  • 71) 0,998 155 099 469 118 652 159 098 88 × 2 = 1 + 0,996 310 198 938 237 304 318 197 76;
  • 72) 0,996 310 198 938 237 304 318 197 76 × 2 = 1 + 0,992 620 397 876 474 608 636 395 52;
  • 73) 0,992 620 397 876 474 608 636 395 52 × 2 = 1 + 0,985 240 795 752 949 217 272 791 04;
  • 74) 0,985 240 795 752 949 217 272 791 04 × 2 = 1 + 0,970 481 591 505 898 434 545 582 08;
  • 75) 0,970 481 591 505 898 434 545 582 08 × 2 = 1 + 0,940 963 183 011 796 869 091 164 16;
  • 76) 0,940 963 183 011 796 869 091 164 16 × 2 = 1 + 0,881 926 366 023 593 738 182 328 32;
  • 77) 0,881 926 366 023 593 738 182 328 32 × 2 = 1 + 0,763 852 732 047 187 476 364 656 64;
  • 78) 0,763 852 732 047 187 476 364 656 64 × 2 = 1 + 0,527 705 464 094 374 952 729 313 28;

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 051 120 130 87(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1010 1110 1111 1111 1111 11(2)

6. Numărul pozitiv înainte de normalizare:

0,000 000 000 000 000 051 120 130 87(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1010 1110 1111 1111 1111 11(2)

7. Normalizează reprezentarea binară a numărului.

Mută virgula cu 55 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 051 120 130 87(10) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1010 1110 1111 1111 1111 11(2) =


0,0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 1010 1110 1111 1111 1111 11(2) × 20 =


1,1101 0111 0111 1111 1111 111(2) × 2-55


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): -55


Mantisă (nenormalizată):
1,1101 0111 0111 1111 1111 111


9. Ajustează exponentul.

Folosește reprezentarea deplasată pe 8 biți:


Exponent (ajustat) =


Exponent (neajustat) + 2(8-1) - 1 =


-55 + 2(8-1) - 1 =


(-55 + 127)(10) =


72(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;
  • 72 : 2 = 36 + 0;
  • 36 : 2 = 18 + 0;
  • 18 : 2 = 9 + 0;
  • 9 : 2 = 4 + 1;
  • 4 : 2 = 2 + 0;
  • 2 : 2 = 1 + 0;
  • 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) =


72(10) =


0100 1000(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. 110 1011 1011 1111 1111 1111 =


110 1011 1011 1111 1111 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) =
0100 1000


Mantisă (23 biți) =
110 1011 1011 1111 1111 1111


Numărul zecimal -0,000 000 000 000 000 051 120 130 87 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

1 - 0100 1000 - 110 1011 1011 1111 1111 1111

Cum să convertești numere zecimale din sistem zecimal (baza 10) în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți

Urmează pașii de mai jos pentru a converti un număr zecimal (cu virgulă) din baza zece în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți:

  • 1. Dacă numărul de convertit este negativ, se începe cu versiunea pozitivă a numărului.
  • 2. Se convertește întâi partea întreagă; împarte în mod repetat la 2 reprezentarea pozitivă a numărului întreg cu semn care trebuie convertit în sistem binar, ținând minte fiecare rest al împărțirilor. Atunci când găsim un CÂT care e egal cu ZERO => STOP
  • 3. Construiește reprezentarea în baza 2 a părții întregi a numărului, luând fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus. Astfel, ultimul rest al împărțirilor de la punctul de mai sus devine primul simbol (situat cel mai la stânga) al numărului în baza doi, în timp ce primul rest devine ultimul simbol (situat cel mai la dreapta).
  • 4. Convertește apoi partea fracționară. Înmulțește în mod repetat cu 2, până se obține o parte fracționară egală cu zero, ținând minte fiecare parte întreagă a înmulțirilor.
  • 5. Construiește reprezentarea în baza 2 a părții fracționare a numărului, luând fiecare parte întreagă a rezultatelor înmulțirilor de mai sus, începând din partea de sus a listei construite (se iau părțile întregi în ordinea în care au fost obținute).
  • 6. Normalizează reprezentarea binară a numărului, mutând virgula cu "n" poziții la stânga (sau, dacă e cazul, la dreapta) astfel încât partea întreagă a acestuia să mai conțină un singur bit, diferit de '0'.
  • 7. Ajustează exponentul folosind reprezentarea deplasată pe 8 biți apoi convertește-l din zecimal (baza 10) în binar pe 8 biți, folosind tehnica împărțirii repetate la 2, așa cum am mai arătat mai sus:
    Exponent (ajustat) = Exponent (neajustat) + 2(8-1) - 1;
  • 8. Normalizează mantisa, renunțând la primul bit (cel mai din stânga), care este întotdeauna '1' (și la semnul zecimal, dacă e cazul) și ajustându-i lungimea, la 23 biți, fie renunțând la biții în exces, din dreapta (pierzând precizie...) fie adaugând tot la dreapta biți setați pe '0'.
  • 9. Semnul (ocupă 1 bit) este egal fie cu 1, dacă este un număr negativ, fie cu 0, dacă e un număr pozitiv.

Exemplu: convertește numărul negativ -25,347 din sistem zecimal (baza zece) în sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie simplă pe 32 de biți:

  • 1. Se începe cu versiunea pozitivă a numărului:

    |-25,347| = 25,347;

  • 2. Convertește întâi partea întreagă, 25. Împarte în mod repetat la 2, ținând minte fiecare rest al împărțirilor, până obținem un cât care este egal cu zero:
    • împărțire = cât + rest;
    • 25 : 2 = 12 + 1;
    • 12 : 2 = 6 + 0;
    • 6 : 2 = 3 + 0;
    • 3 : 2 = 1 + 1;
    • 1 : 2 = 0 + 1;
    • Am obținut un cât care este egal cu ZERO => STOP
  • 3. Construiește reprezentarea în baza 2 a părții întregi a numărului, luând fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus:

    25(10) = 1 1001(2)

  • 4. Convertește apoi partea fracționară 0,347. Înmulțește în mod repetat cu 2, ținând minte fiecare parte întreagă a înmulțirilor, până obținem o parte fracționară egală cu zero:
    • #) înmulțire = întreg + fracționar;
    • 1) 0,347 × 2 = 0 + 0,694;
    • 2) 0,694 × 2 = 1 + 0,388;
    • 3) 0,388 × 2 = 0 + 0,776;
    • 4) 0,776 × 2 = 1 + 0,552;
    • 5) 0,552 × 2 = 1 + 0,104;
    • 6) 0,104 × 2 = 0 + 0,208
    • 7) 0,208 × 2 = 0 + 0,416;
    • 8) 0,416 × 2 = 0 + 0,832;
    • 9) 0,832 × 2 = 1 + 0,664;
    • 10) 0,664 × 2 = 1 + 0,328;
    • 11) 0,328 × 2 = 0 + 0,656;
    • 12) 0,656 × 2 = 1 + 0,312;
    • 13) 0,312 × 2 = 0 + 0,624;
    • 14) 0,624 × 2 = 1 + 0,248;
    • 15) 0,248 × 2 = 0 + 0,496;
    • 16) 0,496 × 2 = 0 + 0,992;
    • 17) 0,992 × 2 = 1 + 0,984;
    • 18) 0,984 × 2 = 1 + 0,968;
    • 19) 0,968 × 2 = 1 + 0,936;
    • 20) 0,936 × 2 = 1 + 0,872;
    • 21) 0,872 × 2 = 1 + 0,744;
    • 22) 0,744 × 2 = 1 + 0,488;
    • 23) 0,488 × 2 = 0 + 0,976;
    • 24) 0,976 × 2 = 1 + 0,952;
    • Nicio parte fracționară egală cu zero n-a fost obținută prin calcule. Însă am efectuat un număr suficient de iterații (peste limita de Mantisă = 23) și a fost găsită prin calcule măcar o parte întreagă diferită de zero => STOP (pierzând precizie...).
  • 5. Construiește reprezentarea în baza 2 a părții fracționare a numărului, luând fiecare parte întreagă a rezultatelor înmulțirilor efectuate anterior, începând din partea de sus a listei construite:

    0,347(10) = 0,0101 1000 1101 0100 1111 1101(2)

  • 6. Recapitulare - numărul pozitiv înainte de normalizare:

    25,347(10) = 1 1001,0101 1000 1101 0100 1111 1101(2)

  • 7. Normalizează reprezentarea binară a numărului, mutând virgula cu 4 poziții la stânga astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de '0':

    25,347(10) =
    1 1001,0101 1000 1101 0100 1111 1101(2) =
    1 1001,0101 1000 1101 0100 1111 1101(2) × 20 =
    1,1001 0101 1000 1101 0100 1111 1101(2) × 24

  • 8. Până în acest moment avem următoarele elemente ce vor alcătui numărul binar în reprezentare IEEE 754, precizie simplă (32 biți):

    Semn: 1 (număr negativ);

    Exponent (neajustat): 4;

    Mantisă (nenormalizată): 1,1001 0101 1000 1101 0100 1111 1101;

  • 9. Ajustează exponentul folosind reprezentarea deplasată pe 8 biți apoi convertește-l din zecimal (baza 10) în binar (baza 2) pe 8 biți, folosind tehnica împărțirii repetate la 2, așa cum am mai arătat mai sus, ținând minte toate resturile, ce vor alcătui numărul în binar:

    Exponent (ajustat) = Exponent (neajustat) + 2(8-1) - 1 = (4 + 127)(10) = 131(10) =
    1000 0011(2)

  • 10. Normalizează mantisa, renunțând la primul bit (cel mai din stânga), care este întotdeauna '1' (și la semnul zecimal) și ajustându-i lungimea la 23 biți, prin renunțarea la biții în exces, cei din dreapta (pierzând precizie...):

    Mantisă (nenormalizată): 1,1001 0101 1000 1101 0100 1111 1101

    Mantisă (normalizată): 100 1010 1100 0110 1010 0111

  • Concluzia:

    Semn (1 bit) = 1 (un număr negativ)

    Exponent (8 biți) = 1000 0011

    Mantisă (23 biți) = 100 1010 1100 0110 1010 0111

  • Numărul -25,347 convertit din sistem zecimal (baza 10) în binar pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754 este:
    1 - 1000 0011 - 100 1010 1100 0110 1010 0111