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

Scriere 10 010 011 000 110 000 000 000 000 000 218(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 011 000 110 000 000 000 000 000 218(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 011 000 110 000 000 000 000 000 218 : 2 = 5 005 005 500 055 000 000 000 000 000 109 + 0;
  • 5 005 005 500 055 000 000 000 000 000 109 : 2 = 2 502 502 750 027 500 000 000 000 000 054 + 1;
  • 2 502 502 750 027 500 000 000 000 000 054 : 2 = 1 251 251 375 013 750 000 000 000 000 027 + 0;
  • 1 251 251 375 013 750 000 000 000 000 027 : 2 = 625 625 687 506 875 000 000 000 000 013 + 1;
  • 625 625 687 506 875 000 000 000 000 013 : 2 = 312 812 843 753 437 500 000 000 000 006 + 1;
  • 312 812 843 753 437 500 000 000 000 006 : 2 = 156 406 421 876 718 750 000 000 000 003 + 0;
  • 156 406 421 876 718 750 000 000 000 003 : 2 = 78 203 210 938 359 375 000 000 000 001 + 1;
  • 78 203 210 938 359 375 000 000 000 001 : 2 = 39 101 605 469 179 687 500 000 000 000 + 1;
  • 39 101 605 469 179 687 500 000 000 000 : 2 = 19 550 802 734 589 843 750 000 000 000 + 0;
  • 19 550 802 734 589 843 750 000 000 000 : 2 = 9 775 401 367 294 921 875 000 000 000 + 0;
  • 9 775 401 367 294 921 875 000 000 000 : 2 = 4 887 700 683 647 460 937 500 000 000 + 0;
  • 4 887 700 683 647 460 937 500 000 000 : 2 = 2 443 850 341 823 730 468 750 000 000 + 0;
  • 2 443 850 341 823 730 468 750 000 000 : 2 = 1 221 925 170 911 865 234 375 000 000 + 0;
  • 1 221 925 170 911 865 234 375 000 000 : 2 = 610 962 585 455 932 617 187 500 000 + 0;
  • 610 962 585 455 932 617 187 500 000 : 2 = 305 481 292 727 966 308 593 750 000 + 0;
  • 305 481 292 727 966 308 593 750 000 : 2 = 152 740 646 363 983 154 296 875 000 + 0;
  • 152 740 646 363 983 154 296 875 000 : 2 = 76 370 323 181 991 577 148 437 500 + 0;
  • 76 370 323 181 991 577 148 437 500 : 2 = 38 185 161 590 995 788 574 218 750 + 0;
  • 38 185 161 590 995 788 574 218 750 : 2 = 19 092 580 795 497 894 287 109 375 + 0;
  • 19 092 580 795 497 894 287 109 375 : 2 = 9 546 290 397 748 947 143 554 687 + 1;
  • 9 546 290 397 748 947 143 554 687 : 2 = 4 773 145 198 874 473 571 777 343 + 1;
  • 4 773 145 198 874 473 571 777 343 : 2 = 2 386 572 599 437 236 785 888 671 + 1;
  • 2 386 572 599 437 236 785 888 671 : 2 = 1 193 286 299 718 618 392 944 335 + 1;
  • 1 193 286 299 718 618 392 944 335 : 2 = 596 643 149 859 309 196 472 167 + 1;
  • 596 643 149 859 309 196 472 167 : 2 = 298 321 574 929 654 598 236 083 + 1;
  • 298 321 574 929 654 598 236 083 : 2 = 149 160 787 464 827 299 118 041 + 1;
  • 149 160 787 464 827 299 118 041 : 2 = 74 580 393 732 413 649 559 020 + 1;
  • 74 580 393 732 413 649 559 020 : 2 = 37 290 196 866 206 824 779 510 + 0;
  • 37 290 196 866 206 824 779 510 : 2 = 18 645 098 433 103 412 389 755 + 0;
  • 18 645 098 433 103 412 389 755 : 2 = 9 322 549 216 551 706 194 877 + 1;
  • 9 322 549 216 551 706 194 877 : 2 = 4 661 274 608 275 853 097 438 + 1;
  • 4 661 274 608 275 853 097 438 : 2 = 2 330 637 304 137 926 548 719 + 0;
  • 2 330 637 304 137 926 548 719 : 2 = 1 165 318 652 068 963 274 359 + 1;
  • 1 165 318 652 068 963 274 359 : 2 = 582 659 326 034 481 637 179 + 1;
  • 582 659 326 034 481 637 179 : 2 = 291 329 663 017 240 818 589 + 1;
  • 291 329 663 017 240 818 589 : 2 = 145 664 831 508 620 409 294 + 1;
  • 145 664 831 508 620 409 294 : 2 = 72 832 415 754 310 204 647 + 0;
  • 72 832 415 754 310 204 647 : 2 = 36 416 207 877 155 102 323 + 1;
  • 36 416 207 877 155 102 323 : 2 = 18 208 103 938 577 551 161 + 1;
  • 18 208 103 938 577 551 161 : 2 = 9 104 051 969 288 775 580 + 1;
  • 9 104 051 969 288 775 580 : 2 = 4 552 025 984 644 387 790 + 0;
  • 4 552 025 984 644 387 790 : 2 = 2 276 012 992 322 193 895 + 0;
  • 2 276 012 992 322 193 895 : 2 = 1 138 006 496 161 096 947 + 1;
  • 1 138 006 496 161 096 947 : 2 = 569 003 248 080 548 473 + 1;
  • 569 003 248 080 548 473 : 2 = 284 501 624 040 274 236 + 1;
  • 284 501 624 040 274 236 : 2 = 142 250 812 020 137 118 + 0;
  • 142 250 812 020 137 118 : 2 = 71 125 406 010 068 559 + 0;
  • 71 125 406 010 068 559 : 2 = 35 562 703 005 034 279 + 1;
  • 35 562 703 005 034 279 : 2 = 17 781 351 502 517 139 + 1;
  • 17 781 351 502 517 139 : 2 = 8 890 675 751 258 569 + 1;
  • 8 890 675 751 258 569 : 2 = 4 445 337 875 629 284 + 1;
  • 4 445 337 875 629 284 : 2 = 2 222 668 937 814 642 + 0;
  • 2 222 668 937 814 642 : 2 = 1 111 334 468 907 321 + 0;
  • 1 111 334 468 907 321 : 2 = 555 667 234 453 660 + 1;
  • 555 667 234 453 660 : 2 = 277 833 617 226 830 + 0;
  • 277 833 617 226 830 : 2 = 138 916 808 613 415 + 0;
  • 138 916 808 613 415 : 2 = 69 458 404 306 707 + 1;
  • 69 458 404 306 707 : 2 = 34 729 202 153 353 + 1;
  • 34 729 202 153 353 : 2 = 17 364 601 076 676 + 1;
  • 17 364 601 076 676 : 2 = 8 682 300 538 338 + 0;
  • 8 682 300 538 338 : 2 = 4 341 150 269 169 + 0;
  • 4 341 150 269 169 : 2 = 2 170 575 134 584 + 1;
  • 2 170 575 134 584 : 2 = 1 085 287 567 292 + 0;
  • 1 085 287 567 292 : 2 = 542 643 783 646 + 0;
  • 542 643 783 646 : 2 = 271 321 891 823 + 0;
  • 271 321 891 823 : 2 = 135 660 945 911 + 1;
  • 135 660 945 911 : 2 = 67 830 472 955 + 1;
  • 67 830 472 955 : 2 = 33 915 236 477 + 1;
  • 33 915 236 477 : 2 = 16 957 618 238 + 1;
  • 16 957 618 238 : 2 = 8 478 809 119 + 0;
  • 8 478 809 119 : 2 = 4 239 404 559 + 1;
  • 4 239 404 559 : 2 = 2 119 702 279 + 1;
  • 2 119 702 279 : 2 = 1 059 851 139 + 1;
  • 1 059 851 139 : 2 = 529 925 569 + 1;
  • 529 925 569 : 2 = 264 962 784 + 1;
  • 264 962 784 : 2 = 132 481 392 + 0;
  • 132 481 392 : 2 = 66 240 696 + 0;
  • 66 240 696 : 2 = 33 120 348 + 0;
  • 33 120 348 : 2 = 16 560 174 + 0;
  • 16 560 174 : 2 = 8 280 087 + 0;
  • 8 280 087 : 2 = 4 140 043 + 1;
  • 4 140 043 : 2 = 2 070 021 + 1;
  • 2 070 021 : 2 = 1 035 010 + 1;
  • 1 035 010 : 2 = 517 505 + 0;
  • 517 505 : 2 = 258 752 + 1;
  • 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 011 000 110 000 000 000 000 000 218(10) =


111 1110 0101 1000 0001 0111 0000 0111 1101 1110 0010 0111 0010 0111 1001 1100 1110 1111 0110 0111 1111 1000 0000 0000 1101 1010(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 011 000 110 000 000 000 000 000 218(10) =


111 1110 0101 1000 0001 0111 0000 0111 1101 1110 0010 0111 0010 0111 1001 1100 1110 1111 0110 0111 1111 1000 0000 0000 1101 1010(2) =


111 1110 0101 1000 0001 0111 0000 0111 1101 1110 0010 0111 0010 0111 1001 1100 1110 1111 0110 0111 1111 1000 0000 0000 1101 1010(2) × 20 =


1,1111 1001 0110 0000 0101 1100 0001 1111 0111 1000 1001 1100 1001 1110 0111 0011 1011 1101 1001 1111 1110 0000 0000 0011 0110 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 0101 1100 0001 1111 0111 1000 1001 1100 1001 1110 0111 0011 1011 1101 1001 1111 1110 0000 0000 0011 0110 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 0010 1110 000 0111 1101 1110 0010 0111 0010 0111 1001 1100 1110 1111 0110 0111 1111 1000 0000 0000 1101 1010 =


111 1100 1011 0000 0010 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 0101


Mantisă (23 biți) =
111 1100 1011 0000 0010 1110


Numărul zecimal 10 010 011 000 110 000 000 000 000 000 218 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 0010 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