10 010 000 111 110 111 011 010 001 009 982 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 010 000 111 110 111 011 010 001 009 982(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
10 010 000 111 110 111 011 010 001 009 982(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;
  • 10 010 000 111 110 111 011 010 001 009 982 : 2 = 5 005 000 055 555 055 505 505 000 504 991 + 0;
  • 5 005 000 055 555 055 505 505 000 504 991 : 2 = 2 502 500 027 777 527 752 752 500 252 495 + 1;
  • 2 502 500 027 777 527 752 752 500 252 495 : 2 = 1 251 250 013 888 763 876 376 250 126 247 + 1;
  • 1 251 250 013 888 763 876 376 250 126 247 : 2 = 625 625 006 944 381 938 188 125 063 123 + 1;
  • 625 625 006 944 381 938 188 125 063 123 : 2 = 312 812 503 472 190 969 094 062 531 561 + 1;
  • 312 812 503 472 190 969 094 062 531 561 : 2 = 156 406 251 736 095 484 547 031 265 780 + 1;
  • 156 406 251 736 095 484 547 031 265 780 : 2 = 78 203 125 868 047 742 273 515 632 890 + 0;
  • 78 203 125 868 047 742 273 515 632 890 : 2 = 39 101 562 934 023 871 136 757 816 445 + 0;
  • 39 101 562 934 023 871 136 757 816 445 : 2 = 19 550 781 467 011 935 568 378 908 222 + 1;
  • 19 550 781 467 011 935 568 378 908 222 : 2 = 9 775 390 733 505 967 784 189 454 111 + 0;
  • 9 775 390 733 505 967 784 189 454 111 : 2 = 4 887 695 366 752 983 892 094 727 055 + 1;
  • 4 887 695 366 752 983 892 094 727 055 : 2 = 2 443 847 683 376 491 946 047 363 527 + 1;
  • 2 443 847 683 376 491 946 047 363 527 : 2 = 1 221 923 841 688 245 973 023 681 763 + 1;
  • 1 221 923 841 688 245 973 023 681 763 : 2 = 610 961 920 844 122 986 511 840 881 + 1;
  • 610 961 920 844 122 986 511 840 881 : 2 = 305 480 960 422 061 493 255 920 440 + 1;
  • 305 480 960 422 061 493 255 920 440 : 2 = 152 740 480 211 030 746 627 960 220 + 0;
  • 152 740 480 211 030 746 627 960 220 : 2 = 76 370 240 105 515 373 313 980 110 + 0;
  • 76 370 240 105 515 373 313 980 110 : 2 = 38 185 120 052 757 686 656 990 055 + 0;
  • 38 185 120 052 757 686 656 990 055 : 2 = 19 092 560 026 378 843 328 495 027 + 1;
  • 19 092 560 026 378 843 328 495 027 : 2 = 9 546 280 013 189 421 664 247 513 + 1;
  • 9 546 280 013 189 421 664 247 513 : 2 = 4 773 140 006 594 710 832 123 756 + 1;
  • 4 773 140 006 594 710 832 123 756 : 2 = 2 386 570 003 297 355 416 061 878 + 0;
  • 2 386 570 003 297 355 416 061 878 : 2 = 1 193 285 001 648 677 708 030 939 + 0;
  • 1 193 285 001 648 677 708 030 939 : 2 = 596 642 500 824 338 854 015 469 + 1;
  • 596 642 500 824 338 854 015 469 : 2 = 298 321 250 412 169 427 007 734 + 1;
  • 298 321 250 412 169 427 007 734 : 2 = 149 160 625 206 084 713 503 867 + 0;
  • 149 160 625 206 084 713 503 867 : 2 = 74 580 312 603 042 356 751 933 + 1;
  • 74 580 312 603 042 356 751 933 : 2 = 37 290 156 301 521 178 375 966 + 1;
  • 37 290 156 301 521 178 375 966 : 2 = 18 645 078 150 760 589 187 983 + 0;
  • 18 645 078 150 760 589 187 983 : 2 = 9 322 539 075 380 294 593 991 + 1;
  • 9 322 539 075 380 294 593 991 : 2 = 4 661 269 537 690 147 296 995 + 1;
  • 4 661 269 537 690 147 296 995 : 2 = 2 330 634 768 845 073 648 497 + 1;
  • 2 330 634 768 845 073 648 497 : 2 = 1 165 317 384 422 536 824 248 + 1;
  • 1 165 317 384 422 536 824 248 : 2 = 582 658 692 211 268 412 124 + 0;
  • 582 658 692 211 268 412 124 : 2 = 291 329 346 105 634 206 062 + 0;
  • 291 329 346 105 634 206 062 : 2 = 145 664 673 052 817 103 031 + 0;
  • 145 664 673 052 817 103 031 : 2 = 72 832 336 526 408 551 515 + 1;
  • 72 832 336 526 408 551 515 : 2 = 36 416 168 263 204 275 757 + 1;
  • 36 416 168 263 204 275 757 : 2 = 18 208 084 131 602 137 878 + 1;
  • 18 208 084 131 602 137 878 : 2 = 9 104 042 065 801 068 939 + 0;
  • 9 104 042 065 801 068 939 : 2 = 4 552 021 032 900 534 469 + 1;
  • 4 552 021 032 900 534 469 : 2 = 2 276 010 516 450 267 234 + 1;
  • 2 276 010 516 450 267 234 : 2 = 1 138 005 258 225 133 617 + 0;
  • 1 138 005 258 225 133 617 : 2 = 569 002 629 112 566 808 + 1;
  • 569 002 629 112 566 808 : 2 = 284 501 314 556 283 404 + 0;
  • 284 501 314 556 283 404 : 2 = 142 250 657 278 141 702 + 0;
  • 142 250 657 278 141 702 : 2 = 71 125 328 639 070 851 + 0;
  • 71 125 328 639 070 851 : 2 = 35 562 664 319 535 425 + 1;
  • 35 562 664 319 535 425 : 2 = 17 781 332 159 767 712 + 1;
  • 17 781 332 159 767 712 : 2 = 8 890 666 079 883 856 + 0;
  • 8 890 666 079 883 856 : 2 = 4 445 333 039 941 928 + 0;
  • 4 445 333 039 941 928 : 2 = 2 222 666 519 970 964 + 0;
  • 2 222 666 519 970 964 : 2 = 1 111 333 259 985 482 + 0;
  • 1 111 333 259 985 482 : 2 = 555 666 629 992 741 + 0;
  • 555 666 629 992 741 : 2 = 277 833 314 996 370 + 1;
  • 277 833 314 996 370 : 2 = 138 916 657 498 185 + 0;
  • 138 916 657 498 185 : 2 = 69 458 328 749 092 + 1;
  • 69 458 328 749 092 : 2 = 34 729 164 374 546 + 0;
  • 34 729 164 374 546 : 2 = 17 364 582 187 273 + 0;
  • 17 364 582 187 273 : 2 = 8 682 291 093 636 + 1;
  • 8 682 291 093 636 : 2 = 4 341 145 546 818 + 0;
  • 4 341 145 546 818 : 2 = 2 170 572 773 409 + 0;
  • 2 170 572 773 409 : 2 = 1 085 286 386 704 + 1;
  • 1 085 286 386 704 : 2 = 542 643 193 352 + 0;
  • 542 643 193 352 : 2 = 271 321 596 676 + 0;
  • 271 321 596 676 : 2 = 135 660 798 338 + 0;
  • 135 660 798 338 : 2 = 67 830 399 169 + 0;
  • 67 830 399 169 : 2 = 33 915 199 584 + 1;
  • 33 915 199 584 : 2 = 16 957 599 792 + 0;
  • 16 957 599 792 : 2 = 8 478 799 896 + 0;
  • 8 478 799 896 : 2 = 4 239 399 948 + 0;
  • 4 239 399 948 : 2 = 2 119 699 974 + 0;
  • 2 119 699 974 : 2 = 1 059 849 987 + 0;
  • 1 059 849 987 : 2 = 529 924 993 + 1;
  • 529 924 993 : 2 = 264 962 496 + 1;
  • 264 962 496 : 2 = 132 481 248 + 0;
  • 132 481 248 : 2 = 66 240 624 + 0;
  • 66 240 624 : 2 = 33 120 312 + 0;
  • 33 120 312 : 2 = 16 560 156 + 0;
  • 16 560 156 : 2 = 8 280 078 + 0;
  • 8 280 078 : 2 = 4 140 039 + 0;
  • 4 140 039 : 2 = 2 070 019 + 1;
  • 2 070 019 : 2 = 1 035 009 + 1;
  • 1 035 009 : 2 = 517 504 + 1;
  • 517 504 : 2 = 258 752 + 0;
  • 258 752 : 2 = 129 376 + 0;
  • 129 376 : 2 = 64 688 + 0;
  • 64 688 : 2 = 32 344 + 0;
  • 32 344 : 2 = 16 172 + 0;
  • 16 172 : 2 = 8 086 + 0;
  • 8 086 : 2 = 4 043 + 0;
  • 4 043 : 2 = 2 021 + 1;
  • 2 021 : 2 = 1 010 + 1;
  • 1 010 : 2 = 505 + 0;
  • 505 : 2 = 252 + 1;
  • 252 : 2 = 126 + 0;
  • 126 : 2 = 63 + 0;
  • 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 010 000 111 110 111 011 010 001 009 982(10) =


111 1110 0101 1000 0000 1110 0000 0110 0000 1000 0100 1001 0100 0001 1000 1011 0111 0001 1110 1101 1001 1100 0111 1101 0011 1110(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 010 000 111 110 111 011 010 001 009 982(10) =


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


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


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


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


111 1100 1011 0000 0001 1100


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 1100 1011 0000 0001 1100


Numărul zecimal 10 010 000 111 110 111 011 010 001 009 982 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0101 - 111 1100 1011 0000 0001 1100


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