10 001 110 011 009 999 999 999 999 998 199 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 001 110 011 009 999 999 999 999 998 199(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 110 011 009 999 999 999 999 998 199(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 110 011 009 999 999 999 999 998 199 : 2 = 5 000 555 005 504 999 999 999 999 999 099 + 1;
  • 5 000 555 005 504 999 999 999 999 999 099 : 2 = 2 500 277 502 752 499 999 999 999 999 549 + 1;
  • 2 500 277 502 752 499 999 999 999 999 549 : 2 = 1 250 138 751 376 249 999 999 999 999 774 + 1;
  • 1 250 138 751 376 249 999 999 999 999 774 : 2 = 625 069 375 688 124 999 999 999 999 887 + 0;
  • 625 069 375 688 124 999 999 999 999 887 : 2 = 312 534 687 844 062 499 999 999 999 943 + 1;
  • 312 534 687 844 062 499 999 999 999 943 : 2 = 156 267 343 922 031 249 999 999 999 971 + 1;
  • 156 267 343 922 031 249 999 999 999 971 : 2 = 78 133 671 961 015 624 999 999 999 985 + 1;
  • 78 133 671 961 015 624 999 999 999 985 : 2 = 39 066 835 980 507 812 499 999 999 992 + 1;
  • 39 066 835 980 507 812 499 999 999 992 : 2 = 19 533 417 990 253 906 249 999 999 996 + 0;
  • 19 533 417 990 253 906 249 999 999 996 : 2 = 9 766 708 995 126 953 124 999 999 998 + 0;
  • 9 766 708 995 126 953 124 999 999 998 : 2 = 4 883 354 497 563 476 562 499 999 999 + 0;
  • 4 883 354 497 563 476 562 499 999 999 : 2 = 2 441 677 248 781 738 281 249 999 999 + 1;
  • 2 441 677 248 781 738 281 249 999 999 : 2 = 1 220 838 624 390 869 140 624 999 999 + 1;
  • 1 220 838 624 390 869 140 624 999 999 : 2 = 610 419 312 195 434 570 312 499 999 + 1;
  • 610 419 312 195 434 570 312 499 999 : 2 = 305 209 656 097 717 285 156 249 999 + 1;
  • 305 209 656 097 717 285 156 249 999 : 2 = 152 604 828 048 858 642 578 124 999 + 1;
  • 152 604 828 048 858 642 578 124 999 : 2 = 76 302 414 024 429 321 289 062 499 + 1;
  • 76 302 414 024 429 321 289 062 499 : 2 = 38 151 207 012 214 660 644 531 249 + 1;
  • 38 151 207 012 214 660 644 531 249 : 2 = 19 075 603 506 107 330 322 265 624 + 1;
  • 19 075 603 506 107 330 322 265 624 : 2 = 9 537 801 753 053 665 161 132 812 + 0;
  • 9 537 801 753 053 665 161 132 812 : 2 = 4 768 900 876 526 832 580 566 406 + 0;
  • 4 768 900 876 526 832 580 566 406 : 2 = 2 384 450 438 263 416 290 283 203 + 0;
  • 2 384 450 438 263 416 290 283 203 : 2 = 1 192 225 219 131 708 145 141 601 + 1;
  • 1 192 225 219 131 708 145 141 601 : 2 = 596 112 609 565 854 072 570 800 + 1;
  • 596 112 609 565 854 072 570 800 : 2 = 298 056 304 782 927 036 285 400 + 0;
  • 298 056 304 782 927 036 285 400 : 2 = 149 028 152 391 463 518 142 700 + 0;
  • 149 028 152 391 463 518 142 700 : 2 = 74 514 076 195 731 759 071 350 + 0;
  • 74 514 076 195 731 759 071 350 : 2 = 37 257 038 097 865 879 535 675 + 0;
  • 37 257 038 097 865 879 535 675 : 2 = 18 628 519 048 932 939 767 837 + 1;
  • 18 628 519 048 932 939 767 837 : 2 = 9 314 259 524 466 469 883 918 + 1;
  • 9 314 259 524 466 469 883 918 : 2 = 4 657 129 762 233 234 941 959 + 0;
  • 4 657 129 762 233 234 941 959 : 2 = 2 328 564 881 116 617 470 979 + 1;
  • 2 328 564 881 116 617 470 979 : 2 = 1 164 282 440 558 308 735 489 + 1;
  • 1 164 282 440 558 308 735 489 : 2 = 582 141 220 279 154 367 744 + 1;
  • 582 141 220 279 154 367 744 : 2 = 291 070 610 139 577 183 872 + 0;
  • 291 070 610 139 577 183 872 : 2 = 145 535 305 069 788 591 936 + 0;
  • 145 535 305 069 788 591 936 : 2 = 72 767 652 534 894 295 968 + 0;
  • 72 767 652 534 894 295 968 : 2 = 36 383 826 267 447 147 984 + 0;
  • 36 383 826 267 447 147 984 : 2 = 18 191 913 133 723 573 992 + 0;
  • 18 191 913 133 723 573 992 : 2 = 9 095 956 566 861 786 996 + 0;
  • 9 095 956 566 861 786 996 : 2 = 4 547 978 283 430 893 498 + 0;
  • 4 547 978 283 430 893 498 : 2 = 2 273 989 141 715 446 749 + 0;
  • 2 273 989 141 715 446 749 : 2 = 1 136 994 570 857 723 374 + 1;
  • 1 136 994 570 857 723 374 : 2 = 568 497 285 428 861 687 + 0;
  • 568 497 285 428 861 687 : 2 = 284 248 642 714 430 843 + 1;
  • 284 248 642 714 430 843 : 2 = 142 124 321 357 215 421 + 1;
  • 142 124 321 357 215 421 : 2 = 71 062 160 678 607 710 + 1;
  • 71 062 160 678 607 710 : 2 = 35 531 080 339 303 855 + 0;
  • 35 531 080 339 303 855 : 2 = 17 765 540 169 651 927 + 1;
  • 17 765 540 169 651 927 : 2 = 8 882 770 084 825 963 + 1;
  • 8 882 770 084 825 963 : 2 = 4 441 385 042 412 981 + 1;
  • 4 441 385 042 412 981 : 2 = 2 220 692 521 206 490 + 1;
  • 2 220 692 521 206 490 : 2 = 1 110 346 260 603 245 + 0;
  • 1 110 346 260 603 245 : 2 = 555 173 130 301 622 + 1;
  • 555 173 130 301 622 : 2 = 277 586 565 150 811 + 0;
  • 277 586 565 150 811 : 2 = 138 793 282 575 405 + 1;
  • 138 793 282 575 405 : 2 = 69 396 641 287 702 + 1;
  • 69 396 641 287 702 : 2 = 34 698 320 643 851 + 0;
  • 34 698 320 643 851 : 2 = 17 349 160 321 925 + 1;
  • 17 349 160 321 925 : 2 = 8 674 580 160 962 + 1;
  • 8 674 580 160 962 : 2 = 4 337 290 080 481 + 0;
  • 4 337 290 080 481 : 2 = 2 168 645 040 240 + 1;
  • 2 168 645 040 240 : 2 = 1 084 322 520 120 + 0;
  • 1 084 322 520 120 : 2 = 542 161 260 060 + 0;
  • 542 161 260 060 : 2 = 271 080 630 030 + 0;
  • 271 080 630 030 : 2 = 135 540 315 015 + 0;
  • 135 540 315 015 : 2 = 67 770 157 507 + 1;
  • 67 770 157 507 : 2 = 33 885 078 753 + 1;
  • 33 885 078 753 : 2 = 16 942 539 376 + 1;
  • 16 942 539 376 : 2 = 8 471 269 688 + 0;
  • 8 471 269 688 : 2 = 4 235 634 844 + 0;
  • 4 235 634 844 : 2 = 2 117 817 422 + 0;
  • 2 117 817 422 : 2 = 1 058 908 711 + 0;
  • 1 058 908 711 : 2 = 529 454 355 + 1;
  • 529 454 355 : 2 = 264 727 177 + 1;
  • 264 727 177 : 2 = 132 363 588 + 1;
  • 132 363 588 : 2 = 66 181 794 + 0;
  • 66 181 794 : 2 = 33 090 897 + 0;
  • 33 090 897 : 2 = 16 545 448 + 1;
  • 16 545 448 : 2 = 8 272 724 + 0;
  • 8 272 724 : 2 = 4 136 362 + 0;
  • 4 136 362 : 2 = 2 068 181 + 0;
  • 2 068 181 : 2 = 1 034 090 + 1;
  • 1 034 090 : 2 = 517 045 + 0;
  • 517 045 : 2 = 258 522 + 1;
  • 258 522 : 2 = 129 261 + 0;
  • 129 261 : 2 = 64 630 + 1;
  • 64 630 : 2 = 32 315 + 0;
  • 32 315 : 2 = 16 157 + 1;
  • 16 157 : 2 = 8 078 + 1;
  • 8 078 : 2 = 4 039 + 0;
  • 4 039 : 2 = 2 019 + 1;
  • 2 019 : 2 = 1 009 + 1;
  • 1 009 : 2 = 504 + 1;
  • 504 : 2 = 252 + 0;
  • 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 001 110 011 009 999 999 999 999 998 199(10) =


111 1110 0011 1011 0101 0100 0100 1110 0001 1100 0010 1101 1010 1111 0111 0100 0000 0011 1011 0000 1100 0111 1111 1000 1111 0111(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 001 110 011 009 999 999 999 999 998 199(10) =


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


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


1,1111 1000 1110 1101 0101 0001 0011 1000 0111 0000 1011 0110 1011 1101 1101 0000 0000 1110 1100 0011 0001 1111 1110 0011 1101 11(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 1000 1110 1101 0101 0001 0011 1000 0111 0000 1011 0110 1011 1101 1101 0000 0000 1110 1100 0011 0001 1111 1110 0011 1101 11


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


111 1100 0111 0110 1010 1000


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 0111 0110 1010 1000


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

0 - 1110 0101 - 111 1100 0111 0110 1010 1000


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