Din zecimal în binar pe 32 biți IEEE 754: Transformă numărul 10 111 111 010 000 000 000 000 000 000 072 în binar în reprezentarea pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754, din sistem zecimal (baza zece)

Numărul 10 111 111 010 000 000 000 000 000 000 072(10) convertit și scris în binar în reprezentarea 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ă)

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;
  • 10 111 111 010 000 000 000 000 000 000 072 : 2 = 5 055 555 505 000 000 000 000 000 000 036 + 0;
  • 5 055 555 505 000 000 000 000 000 000 036 : 2 = 2 527 777 752 500 000 000 000 000 000 018 + 0;
  • 2 527 777 752 500 000 000 000 000 000 018 : 2 = 1 263 888 876 250 000 000 000 000 000 009 + 0;
  • 1 263 888 876 250 000 000 000 000 000 009 : 2 = 631 944 438 125 000 000 000 000 000 004 + 1;
  • 631 944 438 125 000 000 000 000 000 004 : 2 = 315 972 219 062 500 000 000 000 000 002 + 0;
  • 315 972 219 062 500 000 000 000 000 002 : 2 = 157 986 109 531 250 000 000 000 000 001 + 0;
  • 157 986 109 531 250 000 000 000 000 001 : 2 = 78 993 054 765 625 000 000 000 000 000 + 1;
  • 78 993 054 765 625 000 000 000 000 000 : 2 = 39 496 527 382 812 500 000 000 000 000 + 0;
  • 39 496 527 382 812 500 000 000 000 000 : 2 = 19 748 263 691 406 250 000 000 000 000 + 0;
  • 19 748 263 691 406 250 000 000 000 000 : 2 = 9 874 131 845 703 125 000 000 000 000 + 0;
  • 9 874 131 845 703 125 000 000 000 000 : 2 = 4 937 065 922 851 562 500 000 000 000 + 0;
  • 4 937 065 922 851 562 500 000 000 000 : 2 = 2 468 532 961 425 781 250 000 000 000 + 0;
  • 2 468 532 961 425 781 250 000 000 000 : 2 = 1 234 266 480 712 890 625 000 000 000 + 0;
  • 1 234 266 480 712 890 625 000 000 000 : 2 = 617 133 240 356 445 312 500 000 000 + 0;
  • 617 133 240 356 445 312 500 000 000 : 2 = 308 566 620 178 222 656 250 000 000 + 0;
  • 308 566 620 178 222 656 250 000 000 : 2 = 154 283 310 089 111 328 125 000 000 + 0;
  • 154 283 310 089 111 328 125 000 000 : 2 = 77 141 655 044 555 664 062 500 000 + 0;
  • 77 141 655 044 555 664 062 500 000 : 2 = 38 570 827 522 277 832 031 250 000 + 0;
  • 38 570 827 522 277 832 031 250 000 : 2 = 19 285 413 761 138 916 015 625 000 + 0;
  • 19 285 413 761 138 916 015 625 000 : 2 = 9 642 706 880 569 458 007 812 500 + 0;
  • 9 642 706 880 569 458 007 812 500 : 2 = 4 821 353 440 284 729 003 906 250 + 0;
  • 4 821 353 440 284 729 003 906 250 : 2 = 2 410 676 720 142 364 501 953 125 + 0;
  • 2 410 676 720 142 364 501 953 125 : 2 = 1 205 338 360 071 182 250 976 562 + 1;
  • 1 205 338 360 071 182 250 976 562 : 2 = 602 669 180 035 591 125 488 281 + 0;
  • 602 669 180 035 591 125 488 281 : 2 = 301 334 590 017 795 562 744 140 + 1;
  • 301 334 590 017 795 562 744 140 : 2 = 150 667 295 008 897 781 372 070 + 0;
  • 150 667 295 008 897 781 372 070 : 2 = 75 333 647 504 448 890 686 035 + 0;
  • 75 333 647 504 448 890 686 035 : 2 = 37 666 823 752 224 445 343 017 + 1;
  • 37 666 823 752 224 445 343 017 : 2 = 18 833 411 876 112 222 671 508 + 1;
  • 18 833 411 876 112 222 671 508 : 2 = 9 416 705 938 056 111 335 754 + 0;
  • 9 416 705 938 056 111 335 754 : 2 = 4 708 352 969 028 055 667 877 + 0;
  • 4 708 352 969 028 055 667 877 : 2 = 2 354 176 484 514 027 833 938 + 1;
  • 2 354 176 484 514 027 833 938 : 2 = 1 177 088 242 257 013 916 969 + 0;
  • 1 177 088 242 257 013 916 969 : 2 = 588 544 121 128 506 958 484 + 1;
  • 588 544 121 128 506 958 484 : 2 = 294 272 060 564 253 479 242 + 0;
  • 294 272 060 564 253 479 242 : 2 = 147 136 030 282 126 739 621 + 0;
  • 147 136 030 282 126 739 621 : 2 = 73 568 015 141 063 369 810 + 1;
  • 73 568 015 141 063 369 810 : 2 = 36 784 007 570 531 684 905 + 0;
  • 36 784 007 570 531 684 905 : 2 = 18 392 003 785 265 842 452 + 1;
  • 18 392 003 785 265 842 452 : 2 = 9 196 001 892 632 921 226 + 0;
  • 9 196 001 892 632 921 226 : 2 = 4 598 000 946 316 460 613 + 0;
  • 4 598 000 946 316 460 613 : 2 = 2 299 000 473 158 230 306 + 1;
  • 2 299 000 473 158 230 306 : 2 = 1 149 500 236 579 115 153 + 0;
  • 1 149 500 236 579 115 153 : 2 = 574 750 118 289 557 576 + 1;
  • 574 750 118 289 557 576 : 2 = 287 375 059 144 778 788 + 0;
  • 287 375 059 144 778 788 : 2 = 143 687 529 572 389 394 + 0;
  • 143 687 529 572 389 394 : 2 = 71 843 764 786 194 697 + 0;
  • 71 843 764 786 194 697 : 2 = 35 921 882 393 097 348 + 1;
  • 35 921 882 393 097 348 : 2 = 17 960 941 196 548 674 + 0;
  • 17 960 941 196 548 674 : 2 = 8 980 470 598 274 337 + 0;
  • 8 980 470 598 274 337 : 2 = 4 490 235 299 137 168 + 1;
  • 4 490 235 299 137 168 : 2 = 2 245 117 649 568 584 + 0;
  • 2 245 117 649 568 584 : 2 = 1 122 558 824 784 292 + 0;
  • 1 122 558 824 784 292 : 2 = 561 279 412 392 146 + 0;
  • 561 279 412 392 146 : 2 = 280 639 706 196 073 + 0;
  • 280 639 706 196 073 : 2 = 140 319 853 098 036 + 1;
  • 140 319 853 098 036 : 2 = 70 159 926 549 018 + 0;
  • 70 159 926 549 018 : 2 = 35 079 963 274 509 + 0;
  • 35 079 963 274 509 : 2 = 17 539 981 637 254 + 1;
  • 17 539 981 637 254 : 2 = 8 769 990 818 627 + 0;
  • 8 769 990 818 627 : 2 = 4 384 995 409 313 + 1;
  • 4 384 995 409 313 : 2 = 2 192 497 704 656 + 1;
  • 2 192 497 704 656 : 2 = 1 096 248 852 328 + 0;
  • 1 096 248 852 328 : 2 = 548 124 426 164 + 0;
  • 548 124 426 164 : 2 = 274 062 213 082 + 0;
  • 274 062 213 082 : 2 = 137 031 106 541 + 0;
  • 137 031 106 541 : 2 = 68 515 553 270 + 1;
  • 68 515 553 270 : 2 = 34 257 776 635 + 0;
  • 34 257 776 635 : 2 = 17 128 888 317 + 1;
  • 17 128 888 317 : 2 = 8 564 444 158 + 1;
  • 8 564 444 158 : 2 = 4 282 222 079 + 0;
  • 4 282 222 079 : 2 = 2 141 111 039 + 1;
  • 2 141 111 039 : 2 = 1 070 555 519 + 1;
  • 1 070 555 519 : 2 = 535 277 759 + 1;
  • 535 277 759 : 2 = 267 638 879 + 1;
  • 267 638 879 : 2 = 133 819 439 + 1;
  • 133 819 439 : 2 = 66 909 719 + 1;
  • 66 909 719 : 2 = 33 454 859 + 1;
  • 33 454 859 : 2 = 16 727 429 + 1;
  • 16 727 429 : 2 = 8 363 714 + 1;
  • 8 363 714 : 2 = 4 181 857 + 0;
  • 4 181 857 : 2 = 2 090 928 + 1;
  • 2 090 928 : 2 = 1 045 464 + 0;
  • 1 045 464 : 2 = 522 732 + 0;
  • 522 732 : 2 = 261 366 + 0;
  • 261 366 : 2 = 130 683 + 0;
  • 130 683 : 2 = 65 341 + 1;
  • 65 341 : 2 = 32 670 + 1;
  • 32 670 : 2 = 16 335 + 0;
  • 16 335 : 2 = 8 167 + 1;
  • 8 167 : 2 = 4 083 + 1;
  • 4 083 : 2 = 2 041 + 1;
  • 2 041 : 2 = 1 020 + 1;
  • 1 020 : 2 = 510 + 0;
  • 510 : 2 = 255 + 0;
  • 255 : 2 = 127 + 1;
  • 127 : 2 = 63 + 1;
  • 63 : 2 = 31 + 1;
  • 31 : 2 = 15 + 1;
  • 15 : 2 = 7 + 1;
  • 7 : 2 = 3 + 1;
  • 3 : 2 = 1 + 1;
  • 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.

10 111 111 010 000 000 000 000 000 000 072(10) =


111 1111 1001 1110 1100 0010 1111 1111 1011 0100 0011 0100 1000 0100 1000 1010 0101 0010 1001 1001 0100 0000 0000 0000 0100 1000(2)


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

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


10 111 111 010 000 000 000 000 000 000 072(10) =


111 1111 1001 1110 1100 0010 1111 1111 1011 0100 0011 0100 1000 0100 1000 1010 0101 0010 1001 1001 0100 0000 0000 0000 0100 1000(2) =


111 1111 1001 1110 1100 0010 1111 1111 1011 0100 0011 0100 1000 0100 1000 1010 0101 0010 1001 1001 0100 0000 0000 0000 0100 1000(2) × 20 =


1,1111 1110 0111 1011 0000 1011 1111 1110 1101 0000 1101 0010 0001 0010 0010 1001 0100 1010 0110 0101 0000 0000 0000 0001 0010 00(2) × 2102


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


Mantisă (nenormalizată):
1,1111 1110 0111 1011 0000 1011 1111 1110 1101 0000 1101 0010 0001 0010 0010 1001 0100 1010 0110 0101 0000 0000 0000 0001 0010 00


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


102 + 2(8-1) - 1 =


(102 + 127)(10) =


229(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;
  • 229 : 2 = 114 + 1;
  • 114 : 2 = 57 + 0;
  • 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) =


229(10) =


1110 0101(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. 111 1111 0011 1101 1000 0101 111 1111 1011 0100 0011 0100 1000 0100 1000 1010 0101 0010 1001 1001 0100 0000 0000 0000 0100 1000 =


111 1111 0011 1101 1000 0101


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 0101


Mantisă (23 biți) =
111 1111 0011 1101 1000 0101


Numărul zecimal în baza zece 10 111 111 010 000 000 000 000 000 000 072 convertit și scris în binar în representarea pe 32 de biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0101 - 111 1111 0011 1101 1000 0101

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