11 011 010 101 010 101 011 011 001 000 812 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 011 010 101 010 101 011 011 001 000 812(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 011 010 101 010 101 011 011 001 000 812(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 011 010 101 010 101 011 011 001 000 812 : 2 = 5 505 505 050 505 050 505 505 500 500 406 + 0;
  • 5 505 505 050 505 050 505 505 500 500 406 : 2 = 2 752 752 525 252 525 252 752 750 250 203 + 0;
  • 2 752 752 525 252 525 252 752 750 250 203 : 2 = 1 376 376 262 626 262 626 376 375 125 101 + 1;
  • 1 376 376 262 626 262 626 376 375 125 101 : 2 = 688 188 131 313 131 313 188 187 562 550 + 1;
  • 688 188 131 313 131 313 188 187 562 550 : 2 = 344 094 065 656 565 656 594 093 781 275 + 0;
  • 344 094 065 656 565 656 594 093 781 275 : 2 = 172 047 032 828 282 828 297 046 890 637 + 1;
  • 172 047 032 828 282 828 297 046 890 637 : 2 = 86 023 516 414 141 414 148 523 445 318 + 1;
  • 86 023 516 414 141 414 148 523 445 318 : 2 = 43 011 758 207 070 707 074 261 722 659 + 0;
  • 43 011 758 207 070 707 074 261 722 659 : 2 = 21 505 879 103 535 353 537 130 861 329 + 1;
  • 21 505 879 103 535 353 537 130 861 329 : 2 = 10 752 939 551 767 676 768 565 430 664 + 1;
  • 10 752 939 551 767 676 768 565 430 664 : 2 = 5 376 469 775 883 838 384 282 715 332 + 0;
  • 5 376 469 775 883 838 384 282 715 332 : 2 = 2 688 234 887 941 919 192 141 357 666 + 0;
  • 2 688 234 887 941 919 192 141 357 666 : 2 = 1 344 117 443 970 959 596 070 678 833 + 0;
  • 1 344 117 443 970 959 596 070 678 833 : 2 = 672 058 721 985 479 798 035 339 416 + 1;
  • 672 058 721 985 479 798 035 339 416 : 2 = 336 029 360 992 739 899 017 669 708 + 0;
  • 336 029 360 992 739 899 017 669 708 : 2 = 168 014 680 496 369 949 508 834 854 + 0;
  • 168 014 680 496 369 949 508 834 854 : 2 = 84 007 340 248 184 974 754 417 427 + 0;
  • 84 007 340 248 184 974 754 417 427 : 2 = 42 003 670 124 092 487 377 208 713 + 1;
  • 42 003 670 124 092 487 377 208 713 : 2 = 21 001 835 062 046 243 688 604 356 + 1;
  • 21 001 835 062 046 243 688 604 356 : 2 = 10 500 917 531 023 121 844 302 178 + 0;
  • 10 500 917 531 023 121 844 302 178 : 2 = 5 250 458 765 511 560 922 151 089 + 0;
  • 5 250 458 765 511 560 922 151 089 : 2 = 2 625 229 382 755 780 461 075 544 + 1;
  • 2 625 229 382 755 780 461 075 544 : 2 = 1 312 614 691 377 890 230 537 772 + 0;
  • 1 312 614 691 377 890 230 537 772 : 2 = 656 307 345 688 945 115 268 886 + 0;
  • 656 307 345 688 945 115 268 886 : 2 = 328 153 672 844 472 557 634 443 + 0;
  • 328 153 672 844 472 557 634 443 : 2 = 164 076 836 422 236 278 817 221 + 1;
  • 164 076 836 422 236 278 817 221 : 2 = 82 038 418 211 118 139 408 610 + 1;
  • 82 038 418 211 118 139 408 610 : 2 = 41 019 209 105 559 069 704 305 + 0;
  • 41 019 209 105 559 069 704 305 : 2 = 20 509 604 552 779 534 852 152 + 1;
  • 20 509 604 552 779 534 852 152 : 2 = 10 254 802 276 389 767 426 076 + 0;
  • 10 254 802 276 389 767 426 076 : 2 = 5 127 401 138 194 883 713 038 + 0;
  • 5 127 401 138 194 883 713 038 : 2 = 2 563 700 569 097 441 856 519 + 0;
  • 2 563 700 569 097 441 856 519 : 2 = 1 281 850 284 548 720 928 259 + 1;
  • 1 281 850 284 548 720 928 259 : 2 = 640 925 142 274 360 464 129 + 1;
  • 640 925 142 274 360 464 129 : 2 = 320 462 571 137 180 232 064 + 1;
  • 320 462 571 137 180 232 064 : 2 = 160 231 285 568 590 116 032 + 0;
  • 160 231 285 568 590 116 032 : 2 = 80 115 642 784 295 058 016 + 0;
  • 80 115 642 784 295 058 016 : 2 = 40 057 821 392 147 529 008 + 0;
  • 40 057 821 392 147 529 008 : 2 = 20 028 910 696 073 764 504 + 0;
  • 20 028 910 696 073 764 504 : 2 = 10 014 455 348 036 882 252 + 0;
  • 10 014 455 348 036 882 252 : 2 = 5 007 227 674 018 441 126 + 0;
  • 5 007 227 674 018 441 126 : 2 = 2 503 613 837 009 220 563 + 0;
  • 2 503 613 837 009 220 563 : 2 = 1 251 806 918 504 610 281 + 1;
  • 1 251 806 918 504 610 281 : 2 = 625 903 459 252 305 140 + 1;
  • 625 903 459 252 305 140 : 2 = 312 951 729 626 152 570 + 0;
  • 312 951 729 626 152 570 : 2 = 156 475 864 813 076 285 + 0;
  • 156 475 864 813 076 285 : 2 = 78 237 932 406 538 142 + 1;
  • 78 237 932 406 538 142 : 2 = 39 118 966 203 269 071 + 0;
  • 39 118 966 203 269 071 : 2 = 19 559 483 101 634 535 + 1;
  • 19 559 483 101 634 535 : 2 = 9 779 741 550 817 267 + 1;
  • 9 779 741 550 817 267 : 2 = 4 889 870 775 408 633 + 1;
  • 4 889 870 775 408 633 : 2 = 2 444 935 387 704 316 + 1;
  • 2 444 935 387 704 316 : 2 = 1 222 467 693 852 158 + 0;
  • 1 222 467 693 852 158 : 2 = 611 233 846 926 079 + 0;
  • 611 233 846 926 079 : 2 = 305 616 923 463 039 + 1;
  • 305 616 923 463 039 : 2 = 152 808 461 731 519 + 1;
  • 152 808 461 731 519 : 2 = 76 404 230 865 759 + 1;
  • 76 404 230 865 759 : 2 = 38 202 115 432 879 + 1;
  • 38 202 115 432 879 : 2 = 19 101 057 716 439 + 1;
  • 19 101 057 716 439 : 2 = 9 550 528 858 219 + 1;
  • 9 550 528 858 219 : 2 = 4 775 264 429 109 + 1;
  • 4 775 264 429 109 : 2 = 2 387 632 214 554 + 1;
  • 2 387 632 214 554 : 2 = 1 193 816 107 277 + 0;
  • 1 193 816 107 277 : 2 = 596 908 053 638 + 1;
  • 596 908 053 638 : 2 = 298 454 026 819 + 0;
  • 298 454 026 819 : 2 = 149 227 013 409 + 1;
  • 149 227 013 409 : 2 = 74 613 506 704 + 1;
  • 74 613 506 704 : 2 = 37 306 753 352 + 0;
  • 37 306 753 352 : 2 = 18 653 376 676 + 0;
  • 18 653 376 676 : 2 = 9 326 688 338 + 0;
  • 9 326 688 338 : 2 = 4 663 344 169 + 0;
  • 4 663 344 169 : 2 = 2 331 672 084 + 1;
  • 2 331 672 084 : 2 = 1 165 836 042 + 0;
  • 1 165 836 042 : 2 = 582 918 021 + 0;
  • 582 918 021 : 2 = 291 459 010 + 1;
  • 291 459 010 : 2 = 145 729 505 + 0;
  • 145 729 505 : 2 = 72 864 752 + 1;
  • 72 864 752 : 2 = 36 432 376 + 0;
  • 36 432 376 : 2 = 18 216 188 + 0;
  • 18 216 188 : 2 = 9 108 094 + 0;
  • 9 108 094 : 2 = 4 554 047 + 0;
  • 4 554 047 : 2 = 2 277 023 + 1;
  • 2 277 023 : 2 = 1 138 511 + 1;
  • 1 138 511 : 2 = 569 255 + 1;
  • 569 255 : 2 = 284 627 + 1;
  • 284 627 : 2 = 142 313 + 1;
  • 142 313 : 2 = 71 156 + 1;
  • 71 156 : 2 = 35 578 + 0;
  • 35 578 : 2 = 17 789 + 0;
  • 17 789 : 2 = 8 894 + 1;
  • 8 894 : 2 = 4 447 + 0;
  • 4 447 : 2 = 2 223 + 1;
  • 2 223 : 2 = 1 111 + 1;
  • 1 111 : 2 = 555 + 1;
  • 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 011 010 101 010 101 011 011 001 000 812(10) =


1000 1010 1111 1010 0111 1110 0001 0100 1000 0110 1011 1111 1100 1111 0100 1100 0000 0111 0001 0110 0010 0110 0010 0011 0110 1100(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 011 010 101 010 101 011 011 001 000 812(10) =


1000 1010 1111 1010 0111 1110 0001 0100 1000 0110 1011 1111 1100 1111 0100 1100 0000 0111 0001 0110 0010 0110 0010 0011 0110 1100(2) =


1000 1010 1111 1010 0111 1110 0001 0100 1000 0110 1011 1111 1100 1111 0100 1100 0000 0111 0001 0110 0010 0110 0010 0011 0110 1100(2) × 20 =


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


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


000 1010 1111 1010 0111 1110


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 1111 1010 0111 1110


Numărul zecimal 11 011 010 101 010 101 011 011 001 000 812 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0110 - 000 1010 1111 1010 0111 1110


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