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

Scriere 10 111 010 111 010 111 010 111 010 110 803(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 111 010 111 010 111 010 111 010 110 803(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 111 010 111 010 111 010 111 010 110 803 : 2 = 5 055 505 055 505 055 505 055 505 055 401 + 1;
  • 5 055 505 055 505 055 505 055 505 055 401 : 2 = 2 527 752 527 752 527 752 527 752 527 700 + 1;
  • 2 527 752 527 752 527 752 527 752 527 700 : 2 = 1 263 876 263 876 263 876 263 876 263 850 + 0;
  • 1 263 876 263 876 263 876 263 876 263 850 : 2 = 631 938 131 938 131 938 131 938 131 925 + 0;
  • 631 938 131 938 131 938 131 938 131 925 : 2 = 315 969 065 969 065 969 065 969 065 962 + 1;
  • 315 969 065 969 065 969 065 969 065 962 : 2 = 157 984 532 984 532 984 532 984 532 981 + 0;
  • 157 984 532 984 532 984 532 984 532 981 : 2 = 78 992 266 492 266 492 266 492 266 490 + 1;
  • 78 992 266 492 266 492 266 492 266 490 : 2 = 39 496 133 246 133 246 133 246 133 245 + 0;
  • 39 496 133 246 133 246 133 246 133 245 : 2 = 19 748 066 623 066 623 066 623 066 622 + 1;
  • 19 748 066 623 066 623 066 623 066 622 : 2 = 9 874 033 311 533 311 533 311 533 311 + 0;
  • 9 874 033 311 533 311 533 311 533 311 : 2 = 4 937 016 655 766 655 766 655 766 655 + 1;
  • 4 937 016 655 766 655 766 655 766 655 : 2 = 2 468 508 327 883 327 883 327 883 327 + 1;
  • 2 468 508 327 883 327 883 327 883 327 : 2 = 1 234 254 163 941 663 941 663 941 663 + 1;
  • 1 234 254 163 941 663 941 663 941 663 : 2 = 617 127 081 970 831 970 831 970 831 + 1;
  • 617 127 081 970 831 970 831 970 831 : 2 = 308 563 540 985 415 985 415 985 415 + 1;
  • 308 563 540 985 415 985 415 985 415 : 2 = 154 281 770 492 707 992 707 992 707 + 1;
  • 154 281 770 492 707 992 707 992 707 : 2 = 77 140 885 246 353 996 353 996 353 + 1;
  • 77 140 885 246 353 996 353 996 353 : 2 = 38 570 442 623 176 998 176 998 176 + 1;
  • 38 570 442 623 176 998 176 998 176 : 2 = 19 285 221 311 588 499 088 499 088 + 0;
  • 19 285 221 311 588 499 088 499 088 : 2 = 9 642 610 655 794 249 544 249 544 + 0;
  • 9 642 610 655 794 249 544 249 544 : 2 = 4 821 305 327 897 124 772 124 772 + 0;
  • 4 821 305 327 897 124 772 124 772 : 2 = 2 410 652 663 948 562 386 062 386 + 0;
  • 2 410 652 663 948 562 386 062 386 : 2 = 1 205 326 331 974 281 193 031 193 + 0;
  • 1 205 326 331 974 281 193 031 193 : 2 = 602 663 165 987 140 596 515 596 + 1;
  • 602 663 165 987 140 596 515 596 : 2 = 301 331 582 993 570 298 257 798 + 0;
  • 301 331 582 993 570 298 257 798 : 2 = 150 665 791 496 785 149 128 899 + 0;
  • 150 665 791 496 785 149 128 899 : 2 = 75 332 895 748 392 574 564 449 + 1;
  • 75 332 895 748 392 574 564 449 : 2 = 37 666 447 874 196 287 282 224 + 1;
  • 37 666 447 874 196 287 282 224 : 2 = 18 833 223 937 098 143 641 112 + 0;
  • 18 833 223 937 098 143 641 112 : 2 = 9 416 611 968 549 071 820 556 + 0;
  • 9 416 611 968 549 071 820 556 : 2 = 4 708 305 984 274 535 910 278 + 0;
  • 4 708 305 984 274 535 910 278 : 2 = 2 354 152 992 137 267 955 139 + 0;
  • 2 354 152 992 137 267 955 139 : 2 = 1 177 076 496 068 633 977 569 + 1;
  • 1 177 076 496 068 633 977 569 : 2 = 588 538 248 034 316 988 784 + 1;
  • 588 538 248 034 316 988 784 : 2 = 294 269 124 017 158 494 392 + 0;
  • 294 269 124 017 158 494 392 : 2 = 147 134 562 008 579 247 196 + 0;
  • 147 134 562 008 579 247 196 : 2 = 73 567 281 004 289 623 598 + 0;
  • 73 567 281 004 289 623 598 : 2 = 36 783 640 502 144 811 799 + 0;
  • 36 783 640 502 144 811 799 : 2 = 18 391 820 251 072 405 899 + 1;
  • 18 391 820 251 072 405 899 : 2 = 9 195 910 125 536 202 949 + 1;
  • 9 195 910 125 536 202 949 : 2 = 4 597 955 062 768 101 474 + 1;
  • 4 597 955 062 768 101 474 : 2 = 2 298 977 531 384 050 737 + 0;
  • 2 298 977 531 384 050 737 : 2 = 1 149 488 765 692 025 368 + 1;
  • 1 149 488 765 692 025 368 : 2 = 574 744 382 846 012 684 + 0;
  • 574 744 382 846 012 684 : 2 = 287 372 191 423 006 342 + 0;
  • 287 372 191 423 006 342 : 2 = 143 686 095 711 503 171 + 0;
  • 143 686 095 711 503 171 : 2 = 71 843 047 855 751 585 + 1;
  • 71 843 047 855 751 585 : 2 = 35 921 523 927 875 792 + 1;
  • 35 921 523 927 875 792 : 2 = 17 960 761 963 937 896 + 0;
  • 17 960 761 963 937 896 : 2 = 8 980 380 981 968 948 + 0;
  • 8 980 380 981 968 948 : 2 = 4 490 190 490 984 474 + 0;
  • 4 490 190 490 984 474 : 2 = 2 245 095 245 492 237 + 0;
  • 2 245 095 245 492 237 : 2 = 1 122 547 622 746 118 + 1;
  • 1 122 547 622 746 118 : 2 = 561 273 811 373 059 + 0;
  • 561 273 811 373 059 : 2 = 280 636 905 686 529 + 1;
  • 280 636 905 686 529 : 2 = 140 318 452 843 264 + 1;
  • 140 318 452 843 264 : 2 = 70 159 226 421 632 + 0;
  • 70 159 226 421 632 : 2 = 35 079 613 210 816 + 0;
  • 35 079 613 210 816 : 2 = 17 539 806 605 408 + 0;
  • 17 539 806 605 408 : 2 = 8 769 903 302 704 + 0;
  • 8 769 903 302 704 : 2 = 4 384 951 651 352 + 0;
  • 4 384 951 651 352 : 2 = 2 192 475 825 676 + 0;
  • 2 192 475 825 676 : 2 = 1 096 237 912 838 + 0;
  • 1 096 237 912 838 : 2 = 548 118 956 419 + 0;
  • 548 118 956 419 : 2 = 274 059 478 209 + 1;
  • 274 059 478 209 : 2 = 137 029 739 104 + 1;
  • 137 029 739 104 : 2 = 68 514 869 552 + 0;
  • 68 514 869 552 : 2 = 34 257 434 776 + 0;
  • 34 257 434 776 : 2 = 17 128 717 388 + 0;
  • 17 128 717 388 : 2 = 8 564 358 694 + 0;
  • 8 564 358 694 : 2 = 4 282 179 347 + 0;
  • 4 282 179 347 : 2 = 2 141 089 673 + 1;
  • 2 141 089 673 : 2 = 1 070 544 836 + 1;
  • 1 070 544 836 : 2 = 535 272 418 + 0;
  • 535 272 418 : 2 = 267 636 209 + 0;
  • 267 636 209 : 2 = 133 818 104 + 1;
  • 133 818 104 : 2 = 66 909 052 + 0;
  • 66 909 052 : 2 = 33 454 526 + 0;
  • 33 454 526 : 2 = 16 727 263 + 0;
  • 16 727 263 : 2 = 8 363 631 + 1;
  • 8 363 631 : 2 = 4 181 815 + 1;
  • 4 181 815 : 2 = 2 090 907 + 1;
  • 2 090 907 : 2 = 1 045 453 + 1;
  • 1 045 453 : 2 = 522 726 + 1;
  • 522 726 : 2 = 261 363 + 0;
  • 261 363 : 2 = 130 681 + 1;
  • 130 681 : 2 = 65 340 + 1;
  • 65 340 : 2 = 32 670 + 0;
  • 32 670 : 2 = 16 335 + 0;
  • 16 335 : 2 = 8 167 + 1;
  • 8 167 : 2 = 4 083 + 1;
  • 4 083 : 2 = 2 041 + 1;
  • 2 041 : 2 = 1 020 + 1;
  • 1 020 : 2 = 510 + 0;
  • 510 : 2 = 255 + 0;
  • 255 : 2 = 127 + 1;
  • 127 : 2 = 63 + 1;
  • 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 111 010 111 010 111 010 111 010 110 803(10) =


111 1111 1001 1110 0110 1111 1000 1001 1000 0011 0000 0000 1101 0000 1100 0101 1100 0011 0000 1100 1000 0011 1111 1101 0101 0011(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 111 010 111 010 111 010 111 010 110 803(10) =


111 1111 1001 1110 0110 1111 1000 1001 1000 0011 0000 0000 1101 0000 1100 0101 1100 0011 0000 1100 1000 0011 1111 1101 0101 0011(2) =


111 1111 1001 1110 0110 1111 1000 1001 1000 0011 0000 0000 1101 0000 1100 0101 1100 0011 0000 1100 1000 0011 1111 1101 0101 0011(2) × 20 =


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


111 1111 0011 1100 1101 1111


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 1111 0011 1100 1101 1111


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

0 - 1110 0101 - 111 1111 0011 1100 1101 1111


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