1 000 000 100 000 010 010 101 000 101 011 375 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 1 000 000 100 000 010 010 101 000 101 011 375(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
1 000 000 100 000 010 010 101 000 101 011 375(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;
  • 1 000 000 100 000 010 010 101 000 101 011 375 : 2 = 500 000 050 000 005 005 050 500 050 505 687 + 1;
  • 500 000 050 000 005 005 050 500 050 505 687 : 2 = 250 000 025 000 002 502 525 250 025 252 843 + 1;
  • 250 000 025 000 002 502 525 250 025 252 843 : 2 = 125 000 012 500 001 251 262 625 012 626 421 + 1;
  • 125 000 012 500 001 251 262 625 012 626 421 : 2 = 62 500 006 250 000 625 631 312 506 313 210 + 1;
  • 62 500 006 250 000 625 631 312 506 313 210 : 2 = 31 250 003 125 000 312 815 656 253 156 605 + 0;
  • 31 250 003 125 000 312 815 656 253 156 605 : 2 = 15 625 001 562 500 156 407 828 126 578 302 + 1;
  • 15 625 001 562 500 156 407 828 126 578 302 : 2 = 7 812 500 781 250 078 203 914 063 289 151 + 0;
  • 7 812 500 781 250 078 203 914 063 289 151 : 2 = 3 906 250 390 625 039 101 957 031 644 575 + 1;
  • 3 906 250 390 625 039 101 957 031 644 575 : 2 = 1 953 125 195 312 519 550 978 515 822 287 + 1;
  • 1 953 125 195 312 519 550 978 515 822 287 : 2 = 976 562 597 656 259 775 489 257 911 143 + 1;
  • 976 562 597 656 259 775 489 257 911 143 : 2 = 488 281 298 828 129 887 744 628 955 571 + 1;
  • 488 281 298 828 129 887 744 628 955 571 : 2 = 244 140 649 414 064 943 872 314 477 785 + 1;
  • 244 140 649 414 064 943 872 314 477 785 : 2 = 122 070 324 707 032 471 936 157 238 892 + 1;
  • 122 070 324 707 032 471 936 157 238 892 : 2 = 61 035 162 353 516 235 968 078 619 446 + 0;
  • 61 035 162 353 516 235 968 078 619 446 : 2 = 30 517 581 176 758 117 984 039 309 723 + 0;
  • 30 517 581 176 758 117 984 039 309 723 : 2 = 15 258 790 588 379 058 992 019 654 861 + 1;
  • 15 258 790 588 379 058 992 019 654 861 : 2 = 7 629 395 294 189 529 496 009 827 430 + 1;
  • 7 629 395 294 189 529 496 009 827 430 : 2 = 3 814 697 647 094 764 748 004 913 715 + 0;
  • 3 814 697 647 094 764 748 004 913 715 : 2 = 1 907 348 823 547 382 374 002 456 857 + 1;
  • 1 907 348 823 547 382 374 002 456 857 : 2 = 953 674 411 773 691 187 001 228 428 + 1;
  • 953 674 411 773 691 187 001 228 428 : 2 = 476 837 205 886 845 593 500 614 214 + 0;
  • 476 837 205 886 845 593 500 614 214 : 2 = 238 418 602 943 422 796 750 307 107 + 0;
  • 238 418 602 943 422 796 750 307 107 : 2 = 119 209 301 471 711 398 375 153 553 + 1;
  • 119 209 301 471 711 398 375 153 553 : 2 = 59 604 650 735 855 699 187 576 776 + 1;
  • 59 604 650 735 855 699 187 576 776 : 2 = 29 802 325 367 927 849 593 788 388 + 0;
  • 29 802 325 367 927 849 593 788 388 : 2 = 14 901 162 683 963 924 796 894 194 + 0;
  • 14 901 162 683 963 924 796 894 194 : 2 = 7 450 581 341 981 962 398 447 097 + 0;
  • 7 450 581 341 981 962 398 447 097 : 2 = 3 725 290 670 990 981 199 223 548 + 1;
  • 3 725 290 670 990 981 199 223 548 : 2 = 1 862 645 335 495 490 599 611 774 + 0;
  • 1 862 645 335 495 490 599 611 774 : 2 = 931 322 667 747 745 299 805 887 + 0;
  • 931 322 667 747 745 299 805 887 : 2 = 465 661 333 873 872 649 902 943 + 1;
  • 465 661 333 873 872 649 902 943 : 2 = 232 830 666 936 936 324 951 471 + 1;
  • 232 830 666 936 936 324 951 471 : 2 = 116 415 333 468 468 162 475 735 + 1;
  • 116 415 333 468 468 162 475 735 : 2 = 58 207 666 734 234 081 237 867 + 1;
  • 58 207 666 734 234 081 237 867 : 2 = 29 103 833 367 117 040 618 933 + 1;
  • 29 103 833 367 117 040 618 933 : 2 = 14 551 916 683 558 520 309 466 + 1;
  • 14 551 916 683 558 520 309 466 : 2 = 7 275 958 341 779 260 154 733 + 0;
  • 7 275 958 341 779 260 154 733 : 2 = 3 637 979 170 889 630 077 366 + 1;
  • 3 637 979 170 889 630 077 366 : 2 = 1 818 989 585 444 815 038 683 + 0;
  • 1 818 989 585 444 815 038 683 : 2 = 909 494 792 722 407 519 341 + 1;
  • 909 494 792 722 407 519 341 : 2 = 454 747 396 361 203 759 670 + 1;
  • 454 747 396 361 203 759 670 : 2 = 227 373 698 180 601 879 835 + 0;
  • 227 373 698 180 601 879 835 : 2 = 113 686 849 090 300 939 917 + 1;
  • 113 686 849 090 300 939 917 : 2 = 56 843 424 545 150 469 958 + 1;
  • 56 843 424 545 150 469 958 : 2 = 28 421 712 272 575 234 979 + 0;
  • 28 421 712 272 575 234 979 : 2 = 14 210 856 136 287 617 489 + 1;
  • 14 210 856 136 287 617 489 : 2 = 7 105 428 068 143 808 744 + 1;
  • 7 105 428 068 143 808 744 : 2 = 3 552 714 034 071 904 372 + 0;
  • 3 552 714 034 071 904 372 : 2 = 1 776 357 017 035 952 186 + 0;
  • 1 776 357 017 035 952 186 : 2 = 888 178 508 517 976 093 + 0;
  • 888 178 508 517 976 093 : 2 = 444 089 254 258 988 046 + 1;
  • 444 089 254 258 988 046 : 2 = 222 044 627 129 494 023 + 0;
  • 222 044 627 129 494 023 : 2 = 111 022 313 564 747 011 + 1;
  • 111 022 313 564 747 011 : 2 = 55 511 156 782 373 505 + 1;
  • 55 511 156 782 373 505 : 2 = 27 755 578 391 186 752 + 1;
  • 27 755 578 391 186 752 : 2 = 13 877 789 195 593 376 + 0;
  • 13 877 789 195 593 376 : 2 = 6 938 894 597 796 688 + 0;
  • 6 938 894 597 796 688 : 2 = 3 469 447 298 898 344 + 0;
  • 3 469 447 298 898 344 : 2 = 1 734 723 649 449 172 + 0;
  • 1 734 723 649 449 172 : 2 = 867 361 824 724 586 + 0;
  • 867 361 824 724 586 : 2 = 433 680 912 362 293 + 0;
  • 433 680 912 362 293 : 2 = 216 840 456 181 146 + 1;
  • 216 840 456 181 146 : 2 = 108 420 228 090 573 + 0;
  • 108 420 228 090 573 : 2 = 54 210 114 045 286 + 1;
  • 54 210 114 045 286 : 2 = 27 105 057 022 643 + 0;
  • 27 105 057 022 643 : 2 = 13 552 528 511 321 + 1;
  • 13 552 528 511 321 : 2 = 6 776 264 255 660 + 1;
  • 6 776 264 255 660 : 2 = 3 388 132 127 830 + 0;
  • 3 388 132 127 830 : 2 = 1 694 066 063 915 + 0;
  • 1 694 066 063 915 : 2 = 847 033 031 957 + 1;
  • 847 033 031 957 : 2 = 423 516 515 978 + 1;
  • 423 516 515 978 : 2 = 211 758 257 989 + 0;
  • 211 758 257 989 : 2 = 105 879 128 994 + 1;
  • 105 879 128 994 : 2 = 52 939 564 497 + 0;
  • 52 939 564 497 : 2 = 26 469 782 248 + 1;
  • 26 469 782 248 : 2 = 13 234 891 124 + 0;
  • 13 234 891 124 : 2 = 6 617 445 562 + 0;
  • 6 617 445 562 : 2 = 3 308 722 781 + 0;
  • 3 308 722 781 : 2 = 1 654 361 390 + 1;
  • 1 654 361 390 : 2 = 827 180 695 + 0;
  • 827 180 695 : 2 = 413 590 347 + 1;
  • 413 590 347 : 2 = 206 795 173 + 1;
  • 206 795 173 : 2 = 103 397 586 + 1;
  • 103 397 586 : 2 = 51 698 793 + 0;
  • 51 698 793 : 2 = 25 849 396 + 1;
  • 25 849 396 : 2 = 12 924 698 + 0;
  • 12 924 698 : 2 = 6 462 349 + 0;
  • 6 462 349 : 2 = 3 231 174 + 1;
  • 3 231 174 : 2 = 1 615 587 + 0;
  • 1 615 587 : 2 = 807 793 + 1;
  • 807 793 : 2 = 403 896 + 1;
  • 403 896 : 2 = 201 948 + 0;
  • 201 948 : 2 = 100 974 + 0;
  • 100 974 : 2 = 50 487 + 0;
  • 50 487 : 2 = 25 243 + 1;
  • 25 243 : 2 = 12 621 + 1;
  • 12 621 : 2 = 6 310 + 1;
  • 6 310 : 2 = 3 155 + 0;
  • 3 155 : 2 = 1 577 + 1;
  • 1 577 : 2 = 788 + 1;
  • 788 : 2 = 394 + 0;
  • 394 : 2 = 197 + 0;
  • 197 : 2 = 98 + 1;
  • 98 : 2 = 49 + 0;
  • 49 : 2 = 24 + 1;
  • 24 : 2 = 12 + 0;
  • 12 : 2 = 6 + 0;
  • 6 : 2 = 3 + 0;
  • 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.

1 000 000 100 000 010 010 101 000 101 011 375(10) =


11 0001 0100 1101 1100 0110 1001 0111 0100 0101 0110 0110 1010 0000 0111 0100 0110 1101 1010 1111 1100 1000 1100 1101 1001 1111 1010 1111(2)


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

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


1 000 000 100 000 010 010 101 000 101 011 375(10) =


11 0001 0100 1101 1100 0110 1001 0111 0100 0101 0110 0110 1010 0000 0111 0100 0110 1101 1010 1111 1100 1000 1100 1101 1001 1111 1010 1111(2) =


11 0001 0100 1101 1100 0110 1001 0111 0100 0101 0110 0110 1010 0000 0111 0100 0110 1101 1010 1111 1100 1000 1100 1101 1001 1111 1010 1111(2) × 20 =


1,1000 1010 0110 1110 0011 0100 1011 1010 0010 1011 0011 0101 0000 0011 1010 0011 0110 1101 0111 1110 0100 0110 0110 1100 1111 1101 0111 1(2) × 2109


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


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


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


109 + 2(8-1) - 1 =


(109 + 127)(10) =


236(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;
  • 236 : 2 = 118 + 0;
  • 118 : 2 = 59 + 0;
  • 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) =


236(10) =


1110 1100(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. 100 0101 0011 0111 0001 1010 01 0111 0100 0101 0110 0110 1010 0000 0111 0100 0110 1101 1010 1111 1100 1000 1100 1101 1001 1111 1010 1111 =


100 0101 0011 0111 0001 1010


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 1100


Mantisă (23 biți) =
100 0101 0011 0111 0001 1010


Numărul zecimal 1 000 000 100 000 010 010 101 000 101 011 375 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 1100 - 100 0101 0011 0111 0001 1010


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