2 831 853 071 795 864 769 252 867 282 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 2 831 853 071 795 864 769 252 867 282(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
2 831 853 071 795 864 769 252 867 282(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;
  • 2 831 853 071 795 864 769 252 867 282 : 2 = 1 415 926 535 897 932 384 626 433 641 + 0;
  • 1 415 926 535 897 932 384 626 433 641 : 2 = 707 963 267 948 966 192 313 216 820 + 1;
  • 707 963 267 948 966 192 313 216 820 : 2 = 353 981 633 974 483 096 156 608 410 + 0;
  • 353 981 633 974 483 096 156 608 410 : 2 = 176 990 816 987 241 548 078 304 205 + 0;
  • 176 990 816 987 241 548 078 304 205 : 2 = 88 495 408 493 620 774 039 152 102 + 1;
  • 88 495 408 493 620 774 039 152 102 : 2 = 44 247 704 246 810 387 019 576 051 + 0;
  • 44 247 704 246 810 387 019 576 051 : 2 = 22 123 852 123 405 193 509 788 025 + 1;
  • 22 123 852 123 405 193 509 788 025 : 2 = 11 061 926 061 702 596 754 894 012 + 1;
  • 11 061 926 061 702 596 754 894 012 : 2 = 5 530 963 030 851 298 377 447 006 + 0;
  • 5 530 963 030 851 298 377 447 006 : 2 = 2 765 481 515 425 649 188 723 503 + 0;
  • 2 765 481 515 425 649 188 723 503 : 2 = 1 382 740 757 712 824 594 361 751 + 1;
  • 1 382 740 757 712 824 594 361 751 : 2 = 691 370 378 856 412 297 180 875 + 1;
  • 691 370 378 856 412 297 180 875 : 2 = 345 685 189 428 206 148 590 437 + 1;
  • 345 685 189 428 206 148 590 437 : 2 = 172 842 594 714 103 074 295 218 + 1;
  • 172 842 594 714 103 074 295 218 : 2 = 86 421 297 357 051 537 147 609 + 0;
  • 86 421 297 357 051 537 147 609 : 2 = 43 210 648 678 525 768 573 804 + 1;
  • 43 210 648 678 525 768 573 804 : 2 = 21 605 324 339 262 884 286 902 + 0;
  • 21 605 324 339 262 884 286 902 : 2 = 10 802 662 169 631 442 143 451 + 0;
  • 10 802 662 169 631 442 143 451 : 2 = 5 401 331 084 815 721 071 725 + 1;
  • 5 401 331 084 815 721 071 725 : 2 = 2 700 665 542 407 860 535 862 + 1;
  • 2 700 665 542 407 860 535 862 : 2 = 1 350 332 771 203 930 267 931 + 0;
  • 1 350 332 771 203 930 267 931 : 2 = 675 166 385 601 965 133 965 + 1;
  • 675 166 385 601 965 133 965 : 2 = 337 583 192 800 982 566 982 + 1;
  • 337 583 192 800 982 566 982 : 2 = 168 791 596 400 491 283 491 + 0;
  • 168 791 596 400 491 283 491 : 2 = 84 395 798 200 245 641 745 + 1;
  • 84 395 798 200 245 641 745 : 2 = 42 197 899 100 122 820 872 + 1;
  • 42 197 899 100 122 820 872 : 2 = 21 098 949 550 061 410 436 + 0;
  • 21 098 949 550 061 410 436 : 2 = 10 549 474 775 030 705 218 + 0;
  • 10 549 474 775 030 705 218 : 2 = 5 274 737 387 515 352 609 + 0;
  • 5 274 737 387 515 352 609 : 2 = 2 637 368 693 757 676 304 + 1;
  • 2 637 368 693 757 676 304 : 2 = 1 318 684 346 878 838 152 + 0;
  • 1 318 684 346 878 838 152 : 2 = 659 342 173 439 419 076 + 0;
  • 659 342 173 439 419 076 : 2 = 329 671 086 719 709 538 + 0;
  • 329 671 086 719 709 538 : 2 = 164 835 543 359 854 769 + 0;
  • 164 835 543 359 854 769 : 2 = 82 417 771 679 927 384 + 1;
  • 82 417 771 679 927 384 : 2 = 41 208 885 839 963 692 + 0;
  • 41 208 885 839 963 692 : 2 = 20 604 442 919 981 846 + 0;
  • 20 604 442 919 981 846 : 2 = 10 302 221 459 990 923 + 0;
  • 10 302 221 459 990 923 : 2 = 5 151 110 729 995 461 + 1;
  • 5 151 110 729 995 461 : 2 = 2 575 555 364 997 730 + 1;
  • 2 575 555 364 997 730 : 2 = 1 287 777 682 498 865 + 0;
  • 1 287 777 682 498 865 : 2 = 643 888 841 249 432 + 1;
  • 643 888 841 249 432 : 2 = 321 944 420 624 716 + 0;
  • 321 944 420 624 716 : 2 = 160 972 210 312 358 + 0;
  • 160 972 210 312 358 : 2 = 80 486 105 156 179 + 0;
  • 80 486 105 156 179 : 2 = 40 243 052 578 089 + 1;
  • 40 243 052 578 089 : 2 = 20 121 526 289 044 + 1;
  • 20 121 526 289 044 : 2 = 10 060 763 144 522 + 0;
  • 10 060 763 144 522 : 2 = 5 030 381 572 261 + 0;
  • 5 030 381 572 261 : 2 = 2 515 190 786 130 + 1;
  • 2 515 190 786 130 : 2 = 1 257 595 393 065 + 0;
  • 1 257 595 393 065 : 2 = 628 797 696 532 + 1;
  • 628 797 696 532 : 2 = 314 398 848 266 + 0;
  • 314 398 848 266 : 2 = 157 199 424 133 + 0;
  • 157 199 424 133 : 2 = 78 599 712 066 + 1;
  • 78 599 712 066 : 2 = 39 299 856 033 + 0;
  • 39 299 856 033 : 2 = 19 649 928 016 + 1;
  • 19 649 928 016 : 2 = 9 824 964 008 + 0;
  • 9 824 964 008 : 2 = 4 912 482 004 + 0;
  • 4 912 482 004 : 2 = 2 456 241 002 + 0;
  • 2 456 241 002 : 2 = 1 228 120 501 + 0;
  • 1 228 120 501 : 2 = 614 060 250 + 1;
  • 614 060 250 : 2 = 307 030 125 + 0;
  • 307 030 125 : 2 = 153 515 062 + 1;
  • 153 515 062 : 2 = 76 757 531 + 0;
  • 76 757 531 : 2 = 38 378 765 + 1;
  • 38 378 765 : 2 = 19 189 382 + 1;
  • 19 189 382 : 2 = 9 594 691 + 0;
  • 9 594 691 : 2 = 4 797 345 + 1;
  • 4 797 345 : 2 = 2 398 672 + 1;
  • 2 398 672 : 2 = 1 199 336 + 0;
  • 1 199 336 : 2 = 599 668 + 0;
  • 599 668 : 2 = 299 834 + 0;
  • 299 834 : 2 = 149 917 + 0;
  • 149 917 : 2 = 74 958 + 1;
  • 74 958 : 2 = 37 479 + 0;
  • 37 479 : 2 = 18 739 + 1;
  • 18 739 : 2 = 9 369 + 1;
  • 9 369 : 2 = 4 684 + 1;
  • 4 684 : 2 = 2 342 + 0;
  • 2 342 : 2 = 1 171 + 0;
  • 1 171 : 2 = 585 + 1;
  • 585 : 2 = 292 + 1;
  • 292 : 2 = 146 + 0;
  • 146 : 2 = 73 + 0;
  • 73 : 2 = 36 + 1;
  • 36 : 2 = 18 + 0;
  • 18 : 2 = 9 + 0;
  • 9 : 2 = 4 + 1;
  • 4 : 2 = 2 + 0;
  • 2 : 2 = 1 + 0;
  • 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.

2 831 853 071 795 864 769 252 867 282(10) =


1001 0010 0110 0111 0100 0011 0110 1010 0001 0100 1010 0110 0010 1100 0100 0010 0011 0110 1100 1011 1100 1101 0010(2)


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

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


2 831 853 071 795 864 769 252 867 282(10) =


1001 0010 0110 0111 0100 0011 0110 1010 0001 0100 1010 0110 0010 1100 0100 0010 0011 0110 1100 1011 1100 1101 0010(2) =


1001 0010 0110 0111 0100 0011 0110 1010 0001 0100 1010 0110 0010 1100 0100 0010 0011 0110 1100 1011 1100 1101 0010(2) × 20 =


1,0010 0100 1100 1110 1000 0110 1101 0100 0010 1001 0100 1100 0101 1000 1000 0100 0110 1101 1001 0111 1001 1010 010(2) × 291


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


Mantisă (nenormalizată):
1,0010 0100 1100 1110 1000 0110 1101 0100 0010 1001 0100 1100 0101 1000 1000 0100 0110 1101 1001 0111 1001 1010 010


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


91 + 2(8-1) - 1 =


(91 + 127)(10) =


218(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;
  • 218 : 2 = 109 + 0;
  • 109 : 2 = 54 + 1;
  • 54 : 2 = 27 + 0;
  • 27 : 2 = 13 + 1;
  • 13 : 2 = 6 + 1;
  • 6 : 2 = 3 + 0;
  • 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) =


218(10) =


1101 1010(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. 001 0010 0110 0111 0100 0011 0110 1010 0001 0100 1010 0110 0010 1100 0100 0010 0011 0110 1100 1011 1100 1101 0010 =


001 0010 0110 0111 0100 0011


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) =
1101 1010


Mantisă (23 biți) =
001 0010 0110 0111 0100 0011


Numărul zecimal 2 831 853 071 795 864 769 252 867 282 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1101 1010 - 001 0010 0110 0111 0100 0011


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