11 000 111 110 000 111 000 011 099 999 610 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 000 111 110 000 111 000 011 099 999 610(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 000 111 110 000 111 000 011 099 999 610(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 000 111 110 000 111 000 011 099 999 610 : 2 = 5 500 055 555 000 055 500 005 549 999 805 + 0;
  • 5 500 055 555 000 055 500 005 549 999 805 : 2 = 2 750 027 777 500 027 750 002 774 999 902 + 1;
  • 2 750 027 777 500 027 750 002 774 999 902 : 2 = 1 375 013 888 750 013 875 001 387 499 951 + 0;
  • 1 375 013 888 750 013 875 001 387 499 951 : 2 = 687 506 944 375 006 937 500 693 749 975 + 1;
  • 687 506 944 375 006 937 500 693 749 975 : 2 = 343 753 472 187 503 468 750 346 874 987 + 1;
  • 343 753 472 187 503 468 750 346 874 987 : 2 = 171 876 736 093 751 734 375 173 437 493 + 1;
  • 171 876 736 093 751 734 375 173 437 493 : 2 = 85 938 368 046 875 867 187 586 718 746 + 1;
  • 85 938 368 046 875 867 187 586 718 746 : 2 = 42 969 184 023 437 933 593 793 359 373 + 0;
  • 42 969 184 023 437 933 593 793 359 373 : 2 = 21 484 592 011 718 966 796 896 679 686 + 1;
  • 21 484 592 011 718 966 796 896 679 686 : 2 = 10 742 296 005 859 483 398 448 339 843 + 0;
  • 10 742 296 005 859 483 398 448 339 843 : 2 = 5 371 148 002 929 741 699 224 169 921 + 1;
  • 5 371 148 002 929 741 699 224 169 921 : 2 = 2 685 574 001 464 870 849 612 084 960 + 1;
  • 2 685 574 001 464 870 849 612 084 960 : 2 = 1 342 787 000 732 435 424 806 042 480 + 0;
  • 1 342 787 000 732 435 424 806 042 480 : 2 = 671 393 500 366 217 712 403 021 240 + 0;
  • 671 393 500 366 217 712 403 021 240 : 2 = 335 696 750 183 108 856 201 510 620 + 0;
  • 335 696 750 183 108 856 201 510 620 : 2 = 167 848 375 091 554 428 100 755 310 + 0;
  • 167 848 375 091 554 428 100 755 310 : 2 = 83 924 187 545 777 214 050 377 655 + 0;
  • 83 924 187 545 777 214 050 377 655 : 2 = 41 962 093 772 888 607 025 188 827 + 1;
  • 41 962 093 772 888 607 025 188 827 : 2 = 20 981 046 886 444 303 512 594 413 + 1;
  • 20 981 046 886 444 303 512 594 413 : 2 = 10 490 523 443 222 151 756 297 206 + 1;
  • 10 490 523 443 222 151 756 297 206 : 2 = 5 245 261 721 611 075 878 148 603 + 0;
  • 5 245 261 721 611 075 878 148 603 : 2 = 2 622 630 860 805 537 939 074 301 + 1;
  • 2 622 630 860 805 537 939 074 301 : 2 = 1 311 315 430 402 768 969 537 150 + 1;
  • 1 311 315 430 402 768 969 537 150 : 2 = 655 657 715 201 384 484 768 575 + 0;
  • 655 657 715 201 384 484 768 575 : 2 = 327 828 857 600 692 242 384 287 + 1;
  • 327 828 857 600 692 242 384 287 : 2 = 163 914 428 800 346 121 192 143 + 1;
  • 163 914 428 800 346 121 192 143 : 2 = 81 957 214 400 173 060 596 071 + 1;
  • 81 957 214 400 173 060 596 071 : 2 = 40 978 607 200 086 530 298 035 + 1;
  • 40 978 607 200 086 530 298 035 : 2 = 20 489 303 600 043 265 149 017 + 1;
  • 20 489 303 600 043 265 149 017 : 2 = 10 244 651 800 021 632 574 508 + 1;
  • 10 244 651 800 021 632 574 508 : 2 = 5 122 325 900 010 816 287 254 + 0;
  • 5 122 325 900 010 816 287 254 : 2 = 2 561 162 950 005 408 143 627 + 0;
  • 2 561 162 950 005 408 143 627 : 2 = 1 280 581 475 002 704 071 813 + 1;
  • 1 280 581 475 002 704 071 813 : 2 = 640 290 737 501 352 035 906 + 1;
  • 640 290 737 501 352 035 906 : 2 = 320 145 368 750 676 017 953 + 0;
  • 320 145 368 750 676 017 953 : 2 = 160 072 684 375 338 008 976 + 1;
  • 160 072 684 375 338 008 976 : 2 = 80 036 342 187 669 004 488 + 0;
  • 80 036 342 187 669 004 488 : 2 = 40 018 171 093 834 502 244 + 0;
  • 40 018 171 093 834 502 244 : 2 = 20 009 085 546 917 251 122 + 0;
  • 20 009 085 546 917 251 122 : 2 = 10 004 542 773 458 625 561 + 0;
  • 10 004 542 773 458 625 561 : 2 = 5 002 271 386 729 312 780 + 1;
  • 5 002 271 386 729 312 780 : 2 = 2 501 135 693 364 656 390 + 0;
  • 2 501 135 693 364 656 390 : 2 = 1 250 567 846 682 328 195 + 0;
  • 1 250 567 846 682 328 195 : 2 = 625 283 923 341 164 097 + 1;
  • 625 283 923 341 164 097 : 2 = 312 641 961 670 582 048 + 1;
  • 312 641 961 670 582 048 : 2 = 156 320 980 835 291 024 + 0;
  • 156 320 980 835 291 024 : 2 = 78 160 490 417 645 512 + 0;
  • 78 160 490 417 645 512 : 2 = 39 080 245 208 822 756 + 0;
  • 39 080 245 208 822 756 : 2 = 19 540 122 604 411 378 + 0;
  • 19 540 122 604 411 378 : 2 = 9 770 061 302 205 689 + 0;
  • 9 770 061 302 205 689 : 2 = 4 885 030 651 102 844 + 1;
  • 4 885 030 651 102 844 : 2 = 2 442 515 325 551 422 + 0;
  • 2 442 515 325 551 422 : 2 = 1 221 257 662 775 711 + 0;
  • 1 221 257 662 775 711 : 2 = 610 628 831 387 855 + 1;
  • 610 628 831 387 855 : 2 = 305 314 415 693 927 + 1;
  • 305 314 415 693 927 : 2 = 152 657 207 846 963 + 1;
  • 152 657 207 846 963 : 2 = 76 328 603 923 481 + 1;
  • 76 328 603 923 481 : 2 = 38 164 301 961 740 + 1;
  • 38 164 301 961 740 : 2 = 19 082 150 980 870 + 0;
  • 19 082 150 980 870 : 2 = 9 541 075 490 435 + 0;
  • 9 541 075 490 435 : 2 = 4 770 537 745 217 + 1;
  • 4 770 537 745 217 : 2 = 2 385 268 872 608 + 1;
  • 2 385 268 872 608 : 2 = 1 192 634 436 304 + 0;
  • 1 192 634 436 304 : 2 = 596 317 218 152 + 0;
  • 596 317 218 152 : 2 = 298 158 609 076 + 0;
  • 298 158 609 076 : 2 = 149 079 304 538 + 0;
  • 149 079 304 538 : 2 = 74 539 652 269 + 0;
  • 74 539 652 269 : 2 = 37 269 826 134 + 1;
  • 37 269 826 134 : 2 = 18 634 913 067 + 0;
  • 18 634 913 067 : 2 = 9 317 456 533 + 1;
  • 9 317 456 533 : 2 = 4 658 728 266 + 1;
  • 4 658 728 266 : 2 = 2 329 364 133 + 0;
  • 2 329 364 133 : 2 = 1 164 682 066 + 1;
  • 1 164 682 066 : 2 = 582 341 033 + 0;
  • 582 341 033 : 2 = 291 170 516 + 1;
  • 291 170 516 : 2 = 145 585 258 + 0;
  • 145 585 258 : 2 = 72 792 629 + 0;
  • 72 792 629 : 2 = 36 396 314 + 1;
  • 36 396 314 : 2 = 18 198 157 + 0;
  • 18 198 157 : 2 = 9 099 078 + 1;
  • 9 099 078 : 2 = 4 549 539 + 0;
  • 4 549 539 : 2 = 2 274 769 + 1;
  • 2 274 769 : 2 = 1 137 384 + 1;
  • 1 137 384 : 2 = 568 692 + 0;
  • 568 692 : 2 = 284 346 + 0;
  • 284 346 : 2 = 142 173 + 0;
  • 142 173 : 2 = 71 086 + 1;
  • 71 086 : 2 = 35 543 + 0;
  • 35 543 : 2 = 17 771 + 1;
  • 17 771 : 2 = 8 885 + 1;
  • 8 885 : 2 = 4 442 + 1;
  • 4 442 : 2 = 2 221 + 0;
  • 2 221 : 2 = 1 110 + 1;
  • 1 110 : 2 = 555 + 0;
  • 555 : 2 = 277 + 1;
  • 277 : 2 = 138 + 1;
  • 138 : 2 = 69 + 0;
  • 69 : 2 = 34 + 1;
  • 34 : 2 = 17 + 0;
  • 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 000 111 110 000 111 000 011 099 999 610(10) =


1000 1010 1101 0111 0100 0110 1010 0101 0110 1000 0011 0011 1110 0100 0001 1001 0000 1011 0011 1111 0110 1110 0000 1101 0111 1010(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 000 111 110 000 111 000 011 099 999 610(10) =


1000 1010 1101 0111 0100 0110 1010 0101 0110 1000 0011 0011 1110 0100 0001 1001 0000 1011 0011 1111 0110 1110 0000 1101 0111 1010(2) =


1000 1010 1101 0111 0100 0110 1010 0101 0110 1000 0011 0011 1110 0100 0001 1001 0000 1011 0011 1111 0110 1110 0000 1101 0111 1010(2) × 20 =


1,0001 0101 1010 1110 1000 1101 0100 1010 1101 0000 0110 0111 1100 1000 0011 0010 0001 0110 0111 1110 1101 1100 0001 1010 1111 010(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 0101 1010 1110 1000 1101 0100 1010 1101 0000 0110 0111 1100 1000 0011 0010 0001 0110 0111 1110 1101 1100 0001 1010 1111 010


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 1010 1101 0111 0100 0110 1010 0101 0110 1000 0011 0011 1110 0100 0001 1001 0000 1011 0011 1111 0110 1110 0000 1101 0111 1010 =


000 1010 1101 0111 0100 0110


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 1010 1101 0111 0100 0110


Numărul zecimal 11 000 111 110 000 111 000 011 099 999 610 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0110 - 000 1010 1101 0111 0100 0110

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