1 001 111 010 010 000 000 000 000 000 562 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 1 001 111 010 010 000 000 000 000 000 562(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
1 001 111 010 010 000 000 000 000 000 562(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;
  • 1 001 111 010 010 000 000 000 000 000 562 : 2 = 500 555 505 005 000 000 000 000 000 281 + 0;
  • 500 555 505 005 000 000 000 000 000 281 : 2 = 250 277 752 502 500 000 000 000 000 140 + 1;
  • 250 277 752 502 500 000 000 000 000 140 : 2 = 125 138 876 251 250 000 000 000 000 070 + 0;
  • 125 138 876 251 250 000 000 000 000 070 : 2 = 62 569 438 125 625 000 000 000 000 035 + 0;
  • 62 569 438 125 625 000 000 000 000 035 : 2 = 31 284 719 062 812 500 000 000 000 017 + 1;
  • 31 284 719 062 812 500 000 000 000 017 : 2 = 15 642 359 531 406 250 000 000 000 008 + 1;
  • 15 642 359 531 406 250 000 000 000 008 : 2 = 7 821 179 765 703 125 000 000 000 004 + 0;
  • 7 821 179 765 703 125 000 000 000 004 : 2 = 3 910 589 882 851 562 500 000 000 002 + 0;
  • 3 910 589 882 851 562 500 000 000 002 : 2 = 1 955 294 941 425 781 250 000 000 001 + 0;
  • 1 955 294 941 425 781 250 000 000 001 : 2 = 977 647 470 712 890 625 000 000 000 + 1;
  • 977 647 470 712 890 625 000 000 000 : 2 = 488 823 735 356 445 312 500 000 000 + 0;
  • 488 823 735 356 445 312 500 000 000 : 2 = 244 411 867 678 222 656 250 000 000 + 0;
  • 244 411 867 678 222 656 250 000 000 : 2 = 122 205 933 839 111 328 125 000 000 + 0;
  • 122 205 933 839 111 328 125 000 000 : 2 = 61 102 966 919 555 664 062 500 000 + 0;
  • 61 102 966 919 555 664 062 500 000 : 2 = 30 551 483 459 777 832 031 250 000 + 0;
  • 30 551 483 459 777 832 031 250 000 : 2 = 15 275 741 729 888 916 015 625 000 + 0;
  • 15 275 741 729 888 916 015 625 000 : 2 = 7 637 870 864 944 458 007 812 500 + 0;
  • 7 637 870 864 944 458 007 812 500 : 2 = 3 818 935 432 472 229 003 906 250 + 0;
  • 3 818 935 432 472 229 003 906 250 : 2 = 1 909 467 716 236 114 501 953 125 + 0;
  • 1 909 467 716 236 114 501 953 125 : 2 = 954 733 858 118 057 250 976 562 + 1;
  • 954 733 858 118 057 250 976 562 : 2 = 477 366 929 059 028 625 488 281 + 0;
  • 477 366 929 059 028 625 488 281 : 2 = 238 683 464 529 514 312 744 140 + 1;
  • 238 683 464 529 514 312 744 140 : 2 = 119 341 732 264 757 156 372 070 + 0;
  • 119 341 732 264 757 156 372 070 : 2 = 59 670 866 132 378 578 186 035 + 0;
  • 59 670 866 132 378 578 186 035 : 2 = 29 835 433 066 189 289 093 017 + 1;
  • 29 835 433 066 189 289 093 017 : 2 = 14 917 716 533 094 644 546 508 + 1;
  • 14 917 716 533 094 644 546 508 : 2 = 7 458 858 266 547 322 273 254 + 0;
  • 7 458 858 266 547 322 273 254 : 2 = 3 729 429 133 273 661 136 627 + 0;
  • 3 729 429 133 273 661 136 627 : 2 = 1 864 714 566 636 830 568 313 + 1;
  • 1 864 714 566 636 830 568 313 : 2 = 932 357 283 318 415 284 156 + 1;
  • 932 357 283 318 415 284 156 : 2 = 466 178 641 659 207 642 078 + 0;
  • 466 178 641 659 207 642 078 : 2 = 233 089 320 829 603 821 039 + 0;
  • 233 089 320 829 603 821 039 : 2 = 116 544 660 414 801 910 519 + 1;
  • 116 544 660 414 801 910 519 : 2 = 58 272 330 207 400 955 259 + 1;
  • 58 272 330 207 400 955 259 : 2 = 29 136 165 103 700 477 629 + 1;
  • 29 136 165 103 700 477 629 : 2 = 14 568 082 551 850 238 814 + 1;
  • 14 568 082 551 850 238 814 : 2 = 7 284 041 275 925 119 407 + 0;
  • 7 284 041 275 925 119 407 : 2 = 3 642 020 637 962 559 703 + 1;
  • 3 642 020 637 962 559 703 : 2 = 1 821 010 318 981 279 851 + 1;
  • 1 821 010 318 981 279 851 : 2 = 910 505 159 490 639 925 + 1;
  • 910 505 159 490 639 925 : 2 = 455 252 579 745 319 962 + 1;
  • 455 252 579 745 319 962 : 2 = 227 626 289 872 659 981 + 0;
  • 227 626 289 872 659 981 : 2 = 113 813 144 936 329 990 + 1;
  • 113 813 144 936 329 990 : 2 = 56 906 572 468 164 995 + 0;
  • 56 906 572 468 164 995 : 2 = 28 453 286 234 082 497 + 1;
  • 28 453 286 234 082 497 : 2 = 14 226 643 117 041 248 + 1;
  • 14 226 643 117 041 248 : 2 = 7 113 321 558 520 624 + 0;
  • 7 113 321 558 520 624 : 2 = 3 556 660 779 260 312 + 0;
  • 3 556 660 779 260 312 : 2 = 1 778 330 389 630 156 + 0;
  • 1 778 330 389 630 156 : 2 = 889 165 194 815 078 + 0;
  • 889 165 194 815 078 : 2 = 444 582 597 407 539 + 0;
  • 444 582 597 407 539 : 2 = 222 291 298 703 769 + 1;
  • 222 291 298 703 769 : 2 = 111 145 649 351 884 + 1;
  • 111 145 649 351 884 : 2 = 55 572 824 675 942 + 0;
  • 55 572 824 675 942 : 2 = 27 786 412 337 971 + 0;
  • 27 786 412 337 971 : 2 = 13 893 206 168 985 + 1;
  • 13 893 206 168 985 : 2 = 6 946 603 084 492 + 1;
  • 6 946 603 084 492 : 2 = 3 473 301 542 246 + 0;
  • 3 473 301 542 246 : 2 = 1 736 650 771 123 + 0;
  • 1 736 650 771 123 : 2 = 868 325 385 561 + 1;
  • 868 325 385 561 : 2 = 434 162 692 780 + 1;
  • 434 162 692 780 : 2 = 217 081 346 390 + 0;
  • 217 081 346 390 : 2 = 108 540 673 195 + 0;
  • 108 540 673 195 : 2 = 54 270 336 597 + 1;
  • 54 270 336 597 : 2 = 27 135 168 298 + 1;
  • 27 135 168 298 : 2 = 13 567 584 149 + 0;
  • 13 567 584 149 : 2 = 6 783 792 074 + 1;
  • 6 783 792 074 : 2 = 3 391 896 037 + 0;
  • 3 391 896 037 : 2 = 1 695 948 018 + 1;
  • 1 695 948 018 : 2 = 847 974 009 + 0;
  • 847 974 009 : 2 = 423 987 004 + 1;
  • 423 987 004 : 2 = 211 993 502 + 0;
  • 211 993 502 : 2 = 105 996 751 + 0;
  • 105 996 751 : 2 = 52 998 375 + 1;
  • 52 998 375 : 2 = 26 499 187 + 1;
  • 26 499 187 : 2 = 13 249 593 + 1;
  • 13 249 593 : 2 = 6 624 796 + 1;
  • 6 624 796 : 2 = 3 312 398 + 0;
  • 3 312 398 : 2 = 1 656 199 + 0;
  • 1 656 199 : 2 = 828 099 + 1;
  • 828 099 : 2 = 414 049 + 1;
  • 414 049 : 2 = 207 024 + 1;
  • 207 024 : 2 = 103 512 + 0;
  • 103 512 : 2 = 51 756 + 0;
  • 51 756 : 2 = 25 878 + 0;
  • 25 878 : 2 = 12 939 + 0;
  • 12 939 : 2 = 6 469 + 1;
  • 6 469 : 2 = 3 234 + 1;
  • 3 234 : 2 = 1 617 + 0;
  • 1 617 : 2 = 808 + 1;
  • 808 : 2 = 404 + 0;
  • 404 : 2 = 202 + 0;
  • 202 : 2 = 101 + 0;
  • 101 : 2 = 50 + 1;
  • 50 : 2 = 25 + 0;
  • 25 : 2 = 12 + 1;
  • 12 : 2 = 6 + 0;
  • 6 : 2 = 3 + 0;
  • 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.

1 001 111 010 010 000 000 000 000 000 562(10) =


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


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

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


1 001 111 010 010 000 000 000 000 000 562(10) =


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


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


1,1001 0100 0101 1000 0111 0011 1100 1010 1011 0011 0011 0011 0000 0110 1011 1101 1110 0110 0110 0101 0000 0000 0100 0110 010(2) × 299


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


Mantisă (nenormalizată):
1,1001 0100 0101 1000 0111 0011 1100 1010 1011 0011 0011 0011 0000 0110 1011 1101 1110 0110 0110 0101 0000 0000 0100 0110 010


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


99 + 2(8-1) - 1 =


(99 + 127)(10) =


226(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;
  • 226 : 2 = 113 + 0;
  • 113 : 2 = 56 + 1;
  • 56 : 2 = 28 + 0;
  • 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) =


226(10) =


1110 0010(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. 100 1010 0010 1100 0011 1001 1110 0101 0101 1001 1001 1001 1000 0011 0101 1110 1111 0011 0011 0010 1000 0000 0010 0011 0010 =


100 1010 0010 1100 0011 1001


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 0010


Mantisă (23 biți) =
100 1010 0010 1100 0011 1001


Numărul zecimal 1 001 111 010 010 000 000 000 000 000 562 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0010 - 100 1010 0010 1100 0011 1001

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