11 111 111 009 999 999 999 999 999 998 553 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 111 111 009 999 999 999 999 999 998 553(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
11 111 111 009 999 999 999 999 999 998 553(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. Î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;
  • 11 111 111 009 999 999 999 999 999 998 553 : 2 = 5 555 555 504 999 999 999 999 999 999 276 + 1;
  • 5 555 555 504 999 999 999 999 999 999 276 : 2 = 2 777 777 752 499 999 999 999 999 999 638 + 0;
  • 2 777 777 752 499 999 999 999 999 999 638 : 2 = 1 388 888 876 249 999 999 999 999 999 819 + 0;
  • 1 388 888 876 249 999 999 999 999 999 819 : 2 = 694 444 438 124 999 999 999 999 999 909 + 1;
  • 694 444 438 124 999 999 999 999 999 909 : 2 = 347 222 219 062 499 999 999 999 999 954 + 1;
  • 347 222 219 062 499 999 999 999 999 954 : 2 = 173 611 109 531 249 999 999 999 999 977 + 0;
  • 173 611 109 531 249 999 999 999 999 977 : 2 = 86 805 554 765 624 999 999 999 999 988 + 1;
  • 86 805 554 765 624 999 999 999 999 988 : 2 = 43 402 777 382 812 499 999 999 999 994 + 0;
  • 43 402 777 382 812 499 999 999 999 994 : 2 = 21 701 388 691 406 249 999 999 999 997 + 0;
  • 21 701 388 691 406 249 999 999 999 997 : 2 = 10 850 694 345 703 124 999 999 999 998 + 1;
  • 10 850 694 345 703 124 999 999 999 998 : 2 = 5 425 347 172 851 562 499 999 999 999 + 0;
  • 5 425 347 172 851 562 499 999 999 999 : 2 = 2 712 673 586 425 781 249 999 999 999 + 1;
  • 2 712 673 586 425 781 249 999 999 999 : 2 = 1 356 336 793 212 890 624 999 999 999 + 1;
  • 1 356 336 793 212 890 624 999 999 999 : 2 = 678 168 396 606 445 312 499 999 999 + 1;
  • 678 168 396 606 445 312 499 999 999 : 2 = 339 084 198 303 222 656 249 999 999 + 1;
  • 339 084 198 303 222 656 249 999 999 : 2 = 169 542 099 151 611 328 124 999 999 + 1;
  • 169 542 099 151 611 328 124 999 999 : 2 = 84 771 049 575 805 664 062 499 999 + 1;
  • 84 771 049 575 805 664 062 499 999 : 2 = 42 385 524 787 902 832 031 249 999 + 1;
  • 42 385 524 787 902 832 031 249 999 : 2 = 21 192 762 393 951 416 015 624 999 + 1;
  • 21 192 762 393 951 416 015 624 999 : 2 = 10 596 381 196 975 708 007 812 499 + 1;
  • 10 596 381 196 975 708 007 812 499 : 2 = 5 298 190 598 487 854 003 906 249 + 1;
  • 5 298 190 598 487 854 003 906 249 : 2 = 2 649 095 299 243 927 001 953 124 + 1;
  • 2 649 095 299 243 927 001 953 124 : 2 = 1 324 547 649 621 963 500 976 562 + 0;
  • 1 324 547 649 621 963 500 976 562 : 2 = 662 273 824 810 981 750 488 281 + 0;
  • 662 273 824 810 981 750 488 281 : 2 = 331 136 912 405 490 875 244 140 + 1;
  • 331 136 912 405 490 875 244 140 : 2 = 165 568 456 202 745 437 622 070 + 0;
  • 165 568 456 202 745 437 622 070 : 2 = 82 784 228 101 372 718 811 035 + 0;
  • 82 784 228 101 372 718 811 035 : 2 = 41 392 114 050 686 359 405 517 + 1;
  • 41 392 114 050 686 359 405 517 : 2 = 20 696 057 025 343 179 702 758 + 1;
  • 20 696 057 025 343 179 702 758 : 2 = 10 348 028 512 671 589 851 379 + 0;
  • 10 348 028 512 671 589 851 379 : 2 = 5 174 014 256 335 794 925 689 + 1;
  • 5 174 014 256 335 794 925 689 : 2 = 2 587 007 128 167 897 462 844 + 1;
  • 2 587 007 128 167 897 462 844 : 2 = 1 293 503 564 083 948 731 422 + 0;
  • 1 293 503 564 083 948 731 422 : 2 = 646 751 782 041 974 365 711 + 0;
  • 646 751 782 041 974 365 711 : 2 = 323 375 891 020 987 182 855 + 1;
  • 323 375 891 020 987 182 855 : 2 = 161 687 945 510 493 591 427 + 1;
  • 161 687 945 510 493 591 427 : 2 = 80 843 972 755 246 795 713 + 1;
  • 80 843 972 755 246 795 713 : 2 = 40 421 986 377 623 397 856 + 1;
  • 40 421 986 377 623 397 856 : 2 = 20 210 993 188 811 698 928 + 0;
  • 20 210 993 188 811 698 928 : 2 = 10 105 496 594 405 849 464 + 0;
  • 10 105 496 594 405 849 464 : 2 = 5 052 748 297 202 924 732 + 0;
  • 5 052 748 297 202 924 732 : 2 = 2 526 374 148 601 462 366 + 0;
  • 2 526 374 148 601 462 366 : 2 = 1 263 187 074 300 731 183 + 0;
  • 1 263 187 074 300 731 183 : 2 = 631 593 537 150 365 591 + 1;
  • 631 593 537 150 365 591 : 2 = 315 796 768 575 182 795 + 1;
  • 315 796 768 575 182 795 : 2 = 157 898 384 287 591 397 + 1;
  • 157 898 384 287 591 397 : 2 = 78 949 192 143 795 698 + 1;
  • 78 949 192 143 795 698 : 2 = 39 474 596 071 897 849 + 0;
  • 39 474 596 071 897 849 : 2 = 19 737 298 035 948 924 + 1;
  • 19 737 298 035 948 924 : 2 = 9 868 649 017 974 462 + 0;
  • 9 868 649 017 974 462 : 2 = 4 934 324 508 987 231 + 0;
  • 4 934 324 508 987 231 : 2 = 2 467 162 254 493 615 + 1;
  • 2 467 162 254 493 615 : 2 = 1 233 581 127 246 807 + 1;
  • 1 233 581 127 246 807 : 2 = 616 790 563 623 403 + 1;
  • 616 790 563 623 403 : 2 = 308 395 281 811 701 + 1;
  • 308 395 281 811 701 : 2 = 154 197 640 905 850 + 1;
  • 154 197 640 905 850 : 2 = 77 098 820 452 925 + 0;
  • 77 098 820 452 925 : 2 = 38 549 410 226 462 + 1;
  • 38 549 410 226 462 : 2 = 19 274 705 113 231 + 0;
  • 19 274 705 113 231 : 2 = 9 637 352 556 615 + 1;
  • 9 637 352 556 615 : 2 = 4 818 676 278 307 + 1;
  • 4 818 676 278 307 : 2 = 2 409 338 139 153 + 1;
  • 2 409 338 139 153 : 2 = 1 204 669 069 576 + 1;
  • 1 204 669 069 576 : 2 = 602 334 534 788 + 0;
  • 602 334 534 788 : 2 = 301 167 267 394 + 0;
  • 301 167 267 394 : 2 = 150 583 633 697 + 0;
  • 150 583 633 697 : 2 = 75 291 816 848 + 1;
  • 75 291 816 848 : 2 = 37 645 908 424 + 0;
  • 37 645 908 424 : 2 = 18 822 954 212 + 0;
  • 18 822 954 212 : 2 = 9 411 477 106 + 0;
  • 9 411 477 106 : 2 = 4 705 738 553 + 0;
  • 4 705 738 553 : 2 = 2 352 869 276 + 1;
  • 2 352 869 276 : 2 = 1 176 434 638 + 0;
  • 1 176 434 638 : 2 = 588 217 319 + 0;
  • 588 217 319 : 2 = 294 108 659 + 1;
  • 294 108 659 : 2 = 147 054 329 + 1;
  • 147 054 329 : 2 = 73 527 164 + 1;
  • 73 527 164 : 2 = 36 763 582 + 0;
  • 36 763 582 : 2 = 18 381 791 + 0;
  • 18 381 791 : 2 = 9 190 895 + 1;
  • 9 190 895 : 2 = 4 595 447 + 1;
  • 4 595 447 : 2 = 2 297 723 + 1;
  • 2 297 723 : 2 = 1 148 861 + 1;
  • 1 148 861 : 2 = 574 430 + 1;
  • 574 430 : 2 = 287 215 + 0;
  • 287 215 : 2 = 143 607 + 1;
  • 143 607 : 2 = 71 803 + 1;
  • 71 803 : 2 = 35 901 + 1;
  • 35 901 : 2 = 17 950 + 1;
  • 17 950 : 2 = 8 975 + 0;
  • 8 975 : 2 = 4 487 + 1;
  • 4 487 : 2 = 2 243 + 1;
  • 2 243 : 2 = 1 121 + 1;
  • 1 121 : 2 = 560 + 1;
  • 560 : 2 = 280 + 0;
  • 280 : 2 = 140 + 0;
  • 140 : 2 = 70 + 0;
  • 70 : 2 = 35 + 0;
  • 35 : 2 = 17 + 1;
  • 17 : 2 = 8 + 1;
  • 8 : 2 = 4 + 0;
  • 4 : 2 = 2 + 0;
  • 2 : 2 = 1 + 0;
  • 1 : 2 = 0 + 1;

2. Construiește reprezentarea numărului pozitiv în baza 2.

Ia fiecare rest al împărțirilor începând din partea de jos a listei construite mai sus.

11 111 111 009 999 999 999 999 999 998 553(10) =


1000 1100 0011 1101 1110 1111 1001 1100 1000 0100 0111 1010 1111 1001 0111 1000 0011 1100 1101 1001 0011 1111 1111 1010 0101 1001(2)


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

Mută virgula cu 103 poziții la stânga, astfel încât partea întreagă a acestuia să aibă un singur bit, diferit de 0:


11 111 111 009 999 999 999 999 999 998 553(10) =


1000 1100 0011 1101 1110 1111 1001 1100 1000 0100 0111 1010 1111 1001 0111 1000 0011 1100 1101 1001 0011 1111 1111 1010 0101 1001(2) =


1000 1100 0011 1101 1110 1111 1001 1100 1000 0100 0111 1010 1111 1001 0111 1000 0011 1100 1101 1001 0011 1111 1111 1010 0101 1001(2) × 20 =


1,0001 1000 0111 1011 1101 1111 0011 1001 0000 1000 1111 0101 1111 0010 1111 0000 0111 1001 1011 0010 0111 1111 1111 0100 1011 001(2) × 2103


4. 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 0 (un număr pozitiv)


Exponent (neajustat): 103


Mantisă (nenormalizată):
1,0001 1000 0111 1011 1101 1111 0011 1001 0000 1000 1111 0101 1111 0010 1111 0000 0111 1001 1011 0010 0111 1111 1111 0100 1011 001


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(10)


6. 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;
  • 230 : 2 = 115 + 0;
  • 115 : 2 = 57 + 1;
  • 57 : 2 = 28 + 1;
  • 28 : 2 = 14 + 0;
  • 14 : 2 = 7 + 0;
  • 7 : 2 = 3 + 1;
  • 3 : 2 = 1 + 1;
  • 1 : 2 = 0 + 1;

7. 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) =


230(10) =


1110 0110(2)


8. 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, 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. 000 1100 0011 1101 1110 1111 1001 1100 1000 0100 0111 1010 1111 1001 0111 1000 0011 1100 1101 1001 0011 1111 1111 1010 0101 1001 =


000 1100 0011 1101 1110 1111


9. 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) =
0 (un număr pozitiv)


Exponent (8 biți) =
1110 0110


Mantisă (23 biți) =
000 1100 0011 1101 1110 1111


Numărul zecimal 11 111 111 009 999 999 999 999 999 998 553 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0110 - 000 1100 0011 1101 1110 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