10 001 101 110 099 999 999 999 999 999 999 552 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 001 101 110 099 999 999 999 999 999 999 552(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 001 101 110 099 999 999 999 999 999 999 552(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 001 101 110 099 999 999 999 999 999 999 552 : 2 = 5 000 550 555 049 999 999 999 999 999 999 776 + 0;
  • 5 000 550 555 049 999 999 999 999 999 999 776 : 2 = 2 500 275 277 524 999 999 999 999 999 999 888 + 0;
  • 2 500 275 277 524 999 999 999 999 999 999 888 : 2 = 1 250 137 638 762 499 999 999 999 999 999 944 + 0;
  • 1 250 137 638 762 499 999 999 999 999 999 944 : 2 = 625 068 819 381 249 999 999 999 999 999 972 + 0;
  • 625 068 819 381 249 999 999 999 999 999 972 : 2 = 312 534 409 690 624 999 999 999 999 999 986 + 0;
  • 312 534 409 690 624 999 999 999 999 999 986 : 2 = 156 267 204 845 312 499 999 999 999 999 993 + 0;
  • 156 267 204 845 312 499 999 999 999 999 993 : 2 = 78 133 602 422 656 249 999 999 999 999 996 + 1;
  • 78 133 602 422 656 249 999 999 999 999 996 : 2 = 39 066 801 211 328 124 999 999 999 999 998 + 0;
  • 39 066 801 211 328 124 999 999 999 999 998 : 2 = 19 533 400 605 664 062 499 999 999 999 999 + 0;
  • 19 533 400 605 664 062 499 999 999 999 999 : 2 = 9 766 700 302 832 031 249 999 999 999 999 + 1;
  • 9 766 700 302 832 031 249 999 999 999 999 : 2 = 4 883 350 151 416 015 624 999 999 999 999 + 1;
  • 4 883 350 151 416 015 624 999 999 999 999 : 2 = 2 441 675 075 708 007 812 499 999 999 999 + 1;
  • 2 441 675 075 708 007 812 499 999 999 999 : 2 = 1 220 837 537 854 003 906 249 999 999 999 + 1;
  • 1 220 837 537 854 003 906 249 999 999 999 : 2 = 610 418 768 927 001 953 124 999 999 999 + 1;
  • 610 418 768 927 001 953 124 999 999 999 : 2 = 305 209 384 463 500 976 562 499 999 999 + 1;
  • 305 209 384 463 500 976 562 499 999 999 : 2 = 152 604 692 231 750 488 281 249 999 999 + 1;
  • 152 604 692 231 750 488 281 249 999 999 : 2 = 76 302 346 115 875 244 140 624 999 999 + 1;
  • 76 302 346 115 875 244 140 624 999 999 : 2 = 38 151 173 057 937 622 070 312 499 999 + 1;
  • 38 151 173 057 937 622 070 312 499 999 : 2 = 19 075 586 528 968 811 035 156 249 999 + 1;
  • 19 075 586 528 968 811 035 156 249 999 : 2 = 9 537 793 264 484 405 517 578 124 999 + 1;
  • 9 537 793 264 484 405 517 578 124 999 : 2 = 4 768 896 632 242 202 758 789 062 499 + 1;
  • 4 768 896 632 242 202 758 789 062 499 : 2 = 2 384 448 316 121 101 379 394 531 249 + 1;
  • 2 384 448 316 121 101 379 394 531 249 : 2 = 1 192 224 158 060 550 689 697 265 624 + 1;
  • 1 192 224 158 060 550 689 697 265 624 : 2 = 596 112 079 030 275 344 848 632 812 + 0;
  • 596 112 079 030 275 344 848 632 812 : 2 = 298 056 039 515 137 672 424 316 406 + 0;
  • 298 056 039 515 137 672 424 316 406 : 2 = 149 028 019 757 568 836 212 158 203 + 0;
  • 149 028 019 757 568 836 212 158 203 : 2 = 74 514 009 878 784 418 106 079 101 + 1;
  • 74 514 009 878 784 418 106 079 101 : 2 = 37 257 004 939 392 209 053 039 550 + 1;
  • 37 257 004 939 392 209 053 039 550 : 2 = 18 628 502 469 696 104 526 519 775 + 0;
  • 18 628 502 469 696 104 526 519 775 : 2 = 9 314 251 234 848 052 263 259 887 + 1;
  • 9 314 251 234 848 052 263 259 887 : 2 = 4 657 125 617 424 026 131 629 943 + 1;
  • 4 657 125 617 424 026 131 629 943 : 2 = 2 328 562 808 712 013 065 814 971 + 1;
  • 2 328 562 808 712 013 065 814 971 : 2 = 1 164 281 404 356 006 532 907 485 + 1;
  • 1 164 281 404 356 006 532 907 485 : 2 = 582 140 702 178 003 266 453 742 + 1;
  • 582 140 702 178 003 266 453 742 : 2 = 291 070 351 089 001 633 226 871 + 0;
  • 291 070 351 089 001 633 226 871 : 2 = 145 535 175 544 500 816 613 435 + 1;
  • 145 535 175 544 500 816 613 435 : 2 = 72 767 587 772 250 408 306 717 + 1;
  • 72 767 587 772 250 408 306 717 : 2 = 36 383 793 886 125 204 153 358 + 1;
  • 36 383 793 886 125 204 153 358 : 2 = 18 191 896 943 062 602 076 679 + 0;
  • 18 191 896 943 062 602 076 679 : 2 = 9 095 948 471 531 301 038 339 + 1;
  • 9 095 948 471 531 301 038 339 : 2 = 4 547 974 235 765 650 519 169 + 1;
  • 4 547 974 235 765 650 519 169 : 2 = 2 273 987 117 882 825 259 584 + 1;
  • 2 273 987 117 882 825 259 584 : 2 = 1 136 993 558 941 412 629 792 + 0;
  • 1 136 993 558 941 412 629 792 : 2 = 568 496 779 470 706 314 896 + 0;
  • 568 496 779 470 706 314 896 : 2 = 284 248 389 735 353 157 448 + 0;
  • 284 248 389 735 353 157 448 : 2 = 142 124 194 867 676 578 724 + 0;
  • 142 124 194 867 676 578 724 : 2 = 71 062 097 433 838 289 362 + 0;
  • 71 062 097 433 838 289 362 : 2 = 35 531 048 716 919 144 681 + 0;
  • 35 531 048 716 919 144 681 : 2 = 17 765 524 358 459 572 340 + 1;
  • 17 765 524 358 459 572 340 : 2 = 8 882 762 179 229 786 170 + 0;
  • 8 882 762 179 229 786 170 : 2 = 4 441 381 089 614 893 085 + 0;
  • 4 441 381 089 614 893 085 : 2 = 2 220 690 544 807 446 542 + 1;
  • 2 220 690 544 807 446 542 : 2 = 1 110 345 272 403 723 271 + 0;
  • 1 110 345 272 403 723 271 : 2 = 555 172 636 201 861 635 + 1;
  • 555 172 636 201 861 635 : 2 = 277 586 318 100 930 817 + 1;
  • 277 586 318 100 930 817 : 2 = 138 793 159 050 465 408 + 1;
  • 138 793 159 050 465 408 : 2 = 69 396 579 525 232 704 + 0;
  • 69 396 579 525 232 704 : 2 = 34 698 289 762 616 352 + 0;
  • 34 698 289 762 616 352 : 2 = 17 349 144 881 308 176 + 0;
  • 17 349 144 881 308 176 : 2 = 8 674 572 440 654 088 + 0;
  • 8 674 572 440 654 088 : 2 = 4 337 286 220 327 044 + 0;
  • 4 337 286 220 327 044 : 2 = 2 168 643 110 163 522 + 0;
  • 2 168 643 110 163 522 : 2 = 1 084 321 555 081 761 + 0;
  • 1 084 321 555 081 761 : 2 = 542 160 777 540 880 + 1;
  • 542 160 777 540 880 : 2 = 271 080 388 770 440 + 0;
  • 271 080 388 770 440 : 2 = 135 540 194 385 220 + 0;
  • 135 540 194 385 220 : 2 = 67 770 097 192 610 + 0;
  • 67 770 097 192 610 : 2 = 33 885 048 596 305 + 0;
  • 33 885 048 596 305 : 2 = 16 942 524 298 152 + 1;
  • 16 942 524 298 152 : 2 = 8 471 262 149 076 + 0;
  • 8 471 262 149 076 : 2 = 4 235 631 074 538 + 0;
  • 4 235 631 074 538 : 2 = 2 117 815 537 269 + 0;
  • 2 117 815 537 269 : 2 = 1 058 907 768 634 + 1;
  • 1 058 907 768 634 : 2 = 529 453 884 317 + 0;
  • 529 453 884 317 : 2 = 264 726 942 158 + 1;
  • 264 726 942 158 : 2 = 132 363 471 079 + 0;
  • 132 363 471 079 : 2 = 66 181 735 539 + 1;
  • 66 181 735 539 : 2 = 33 090 867 769 + 1;
  • 33 090 867 769 : 2 = 16 545 433 884 + 1;
  • 16 545 433 884 : 2 = 8 272 716 942 + 0;
  • 8 272 716 942 : 2 = 4 136 358 471 + 0;
  • 4 136 358 471 : 2 = 2 068 179 235 + 1;
  • 2 068 179 235 : 2 = 1 034 089 617 + 1;
  • 1 034 089 617 : 2 = 517 044 808 + 1;
  • 517 044 808 : 2 = 258 522 404 + 0;
  • 258 522 404 : 2 = 129 261 202 + 0;
  • 129 261 202 : 2 = 64 630 601 + 0;
  • 64 630 601 : 2 = 32 315 300 + 1;
  • 32 315 300 : 2 = 16 157 650 + 0;
  • 16 157 650 : 2 = 8 078 825 + 0;
  • 8 078 825 : 2 = 4 039 412 + 1;
  • 4 039 412 : 2 = 2 019 706 + 0;
  • 2 019 706 : 2 = 1 009 853 + 0;
  • 1 009 853 : 2 = 504 926 + 1;
  • 504 926 : 2 = 252 463 + 0;
  • 252 463 : 2 = 126 231 + 1;
  • 126 231 : 2 = 63 115 + 1;
  • 63 115 : 2 = 31 557 + 1;
  • 31 557 : 2 = 15 778 + 1;
  • 15 778 : 2 = 7 889 + 0;
  • 7 889 : 2 = 3 944 + 1;
  • 3 944 : 2 = 1 972 + 0;
  • 1 972 : 2 = 986 + 0;
  • 986 : 2 = 493 + 0;
  • 493 : 2 = 246 + 1;
  • 246 : 2 = 123 + 0;
  • 123 : 2 = 61 + 1;
  • 61 : 2 = 30 + 1;
  • 30 : 2 = 15 + 0;
  • 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 001 101 110 099 999 999 999 999 999 999 552(10) =


1 1110 1101 0001 0111 1010 0100 1000 1110 0111 0101 0001 0000 1000 0000 1110 1001 0000 0011 1011 1011 1110 1100 0111 1111 1111 1110 0100 0000(2)


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

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


10 001 101 110 099 999 999 999 999 999 999 552(10) =


1 1110 1101 0001 0111 1010 0100 1000 1110 0111 0101 0001 0000 1000 0000 1110 1001 0000 0011 1011 1011 1110 1100 0111 1111 1111 1110 0100 0000(2) =


1 1110 1101 0001 0111 1010 0100 1000 1110 0111 0101 0001 0000 1000 0000 1110 1001 0000 0011 1011 1011 1110 1100 0111 1111 1111 1110 0100 0000(2) × 20 =


1,1110 1101 0001 0111 1010 0100 1000 1110 0111 0101 0001 0000 1000 0000 1110 1001 0000 0011 1011 1011 1110 1100 0111 1111 1111 1110 0100 0000(2) × 2112


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


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


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


112 + 2(8-1) - 1 =


(112 + 127)(10) =


239(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;
  • 239 : 2 = 119 + 1;
  • 119 : 2 = 59 + 1;
  • 59 : 2 = 29 + 1;
  • 29 : 2 = 14 + 1;
  • 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) =


239(10) =


1110 1111(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 0110 1000 1011 1101 0010 0 1000 1110 0111 0101 0001 0000 1000 0000 1110 1001 0000 0011 1011 1011 1110 1100 0111 1111 1111 1110 0100 0000 =


111 0110 1000 1011 1101 0010


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 1111


Mantisă (23 biți) =
111 0110 1000 1011 1101 0010


Numărul zecimal 10 001 101 110 099 999 999 999 999 999 999 552 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 1111 - 111 0110 1000 1011 1101 0010


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