11 000 000 111 000 009 999 999 999 999 420 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 000 000 111 000 009 999 999 999 999 420(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
11 000 000 111 000 009 999 999 999 999 420(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;
  • 11 000 000 111 000 009 999 999 999 999 420 : 2 = 5 500 000 055 500 004 999 999 999 999 710 + 0;
  • 5 500 000 055 500 004 999 999 999 999 710 : 2 = 2 750 000 027 750 002 499 999 999 999 855 + 0;
  • 2 750 000 027 750 002 499 999 999 999 855 : 2 = 1 375 000 013 875 001 249 999 999 999 927 + 1;
  • 1 375 000 013 875 001 249 999 999 999 927 : 2 = 687 500 006 937 500 624 999 999 999 963 + 1;
  • 687 500 006 937 500 624 999 999 999 963 : 2 = 343 750 003 468 750 312 499 999 999 981 + 1;
  • 343 750 003 468 750 312 499 999 999 981 : 2 = 171 875 001 734 375 156 249 999 999 990 + 1;
  • 171 875 001 734 375 156 249 999 999 990 : 2 = 85 937 500 867 187 578 124 999 999 995 + 0;
  • 85 937 500 867 187 578 124 999 999 995 : 2 = 42 968 750 433 593 789 062 499 999 997 + 1;
  • 42 968 750 433 593 789 062 499 999 997 : 2 = 21 484 375 216 796 894 531 249 999 998 + 1;
  • 21 484 375 216 796 894 531 249 999 998 : 2 = 10 742 187 608 398 447 265 624 999 999 + 0;
  • 10 742 187 608 398 447 265 624 999 999 : 2 = 5 371 093 804 199 223 632 812 499 999 + 1;
  • 5 371 093 804 199 223 632 812 499 999 : 2 = 2 685 546 902 099 611 816 406 249 999 + 1;
  • 2 685 546 902 099 611 816 406 249 999 : 2 = 1 342 773 451 049 805 908 203 124 999 + 1;
  • 1 342 773 451 049 805 908 203 124 999 : 2 = 671 386 725 524 902 954 101 562 499 + 1;
  • 671 386 725 524 902 954 101 562 499 : 2 = 335 693 362 762 451 477 050 781 249 + 1;
  • 335 693 362 762 451 477 050 781 249 : 2 = 167 846 681 381 225 738 525 390 624 + 1;
  • 167 846 681 381 225 738 525 390 624 : 2 = 83 923 340 690 612 869 262 695 312 + 0;
  • 83 923 340 690 612 869 262 695 312 : 2 = 41 961 670 345 306 434 631 347 656 + 0;
  • 41 961 670 345 306 434 631 347 656 : 2 = 20 980 835 172 653 217 315 673 828 + 0;
  • 20 980 835 172 653 217 315 673 828 : 2 = 10 490 417 586 326 608 657 836 914 + 0;
  • 10 490 417 586 326 608 657 836 914 : 2 = 5 245 208 793 163 304 328 918 457 + 0;
  • 5 245 208 793 163 304 328 918 457 : 2 = 2 622 604 396 581 652 164 459 228 + 1;
  • 2 622 604 396 581 652 164 459 228 : 2 = 1 311 302 198 290 826 082 229 614 + 0;
  • 1 311 302 198 290 826 082 229 614 : 2 = 655 651 099 145 413 041 114 807 + 0;
  • 655 651 099 145 413 041 114 807 : 2 = 327 825 549 572 706 520 557 403 + 1;
  • 327 825 549 572 706 520 557 403 : 2 = 163 912 774 786 353 260 278 701 + 1;
  • 163 912 774 786 353 260 278 701 : 2 = 81 956 387 393 176 630 139 350 + 1;
  • 81 956 387 393 176 630 139 350 : 2 = 40 978 193 696 588 315 069 675 + 0;
  • 40 978 193 696 588 315 069 675 : 2 = 20 489 096 848 294 157 534 837 + 1;
  • 20 489 096 848 294 157 534 837 : 2 = 10 244 548 424 147 078 767 418 + 1;
  • 10 244 548 424 147 078 767 418 : 2 = 5 122 274 212 073 539 383 709 + 0;
  • 5 122 274 212 073 539 383 709 : 2 = 2 561 137 106 036 769 691 854 + 1;
  • 2 561 137 106 036 769 691 854 : 2 = 1 280 568 553 018 384 845 927 + 0;
  • 1 280 568 553 018 384 845 927 : 2 = 640 284 276 509 192 422 963 + 1;
  • 640 284 276 509 192 422 963 : 2 = 320 142 138 254 596 211 481 + 1;
  • 320 142 138 254 596 211 481 : 2 = 160 071 069 127 298 105 740 + 1;
  • 160 071 069 127 298 105 740 : 2 = 80 035 534 563 649 052 870 + 0;
  • 80 035 534 563 649 052 870 : 2 = 40 017 767 281 824 526 435 + 0;
  • 40 017 767 281 824 526 435 : 2 = 20 008 883 640 912 263 217 + 1;
  • 20 008 883 640 912 263 217 : 2 = 10 004 441 820 456 131 608 + 1;
  • 10 004 441 820 456 131 608 : 2 = 5 002 220 910 228 065 804 + 0;
  • 5 002 220 910 228 065 804 : 2 = 2 501 110 455 114 032 902 + 0;
  • 2 501 110 455 114 032 902 : 2 = 1 250 555 227 557 016 451 + 0;
  • 1 250 555 227 557 016 451 : 2 = 625 277 613 778 508 225 + 1;
  • 625 277 613 778 508 225 : 2 = 312 638 806 889 254 112 + 1;
  • 312 638 806 889 254 112 : 2 = 156 319 403 444 627 056 + 0;
  • 156 319 403 444 627 056 : 2 = 78 159 701 722 313 528 + 0;
  • 78 159 701 722 313 528 : 2 = 39 079 850 861 156 764 + 0;
  • 39 079 850 861 156 764 : 2 = 19 539 925 430 578 382 + 0;
  • 19 539 925 430 578 382 : 2 = 9 769 962 715 289 191 + 0;
  • 9 769 962 715 289 191 : 2 = 4 884 981 357 644 595 + 1;
  • 4 884 981 357 644 595 : 2 = 2 442 490 678 822 297 + 1;
  • 2 442 490 678 822 297 : 2 = 1 221 245 339 411 148 + 1;
  • 1 221 245 339 411 148 : 2 = 610 622 669 705 574 + 0;
  • 610 622 669 705 574 : 2 = 305 311 334 852 787 + 0;
  • 305 311 334 852 787 : 2 = 152 655 667 426 393 + 1;
  • 152 655 667 426 393 : 2 = 76 327 833 713 196 + 1;
  • 76 327 833 713 196 : 2 = 38 163 916 856 598 + 0;
  • 38 163 916 856 598 : 2 = 19 081 958 428 299 + 0;
  • 19 081 958 428 299 : 2 = 9 540 979 214 149 + 1;
  • 9 540 979 214 149 : 2 = 4 770 489 607 074 + 1;
  • 4 770 489 607 074 : 2 = 2 385 244 803 537 + 0;
  • 2 385 244 803 537 : 2 = 1 192 622 401 768 + 1;
  • 1 192 622 401 768 : 2 = 596 311 200 884 + 0;
  • 596 311 200 884 : 2 = 298 155 600 442 + 0;
  • 298 155 600 442 : 2 = 149 077 800 221 + 0;
  • 149 077 800 221 : 2 = 74 538 900 110 + 1;
  • 74 538 900 110 : 2 = 37 269 450 055 + 0;
  • 37 269 450 055 : 2 = 18 634 725 027 + 1;
  • 18 634 725 027 : 2 = 9 317 362 513 + 1;
  • 9 317 362 513 : 2 = 4 658 681 256 + 1;
  • 4 658 681 256 : 2 = 2 329 340 628 + 0;
  • 2 329 340 628 : 2 = 1 164 670 314 + 0;
  • 1 164 670 314 : 2 = 582 335 157 + 0;
  • 582 335 157 : 2 = 291 167 578 + 1;
  • 291 167 578 : 2 = 145 583 789 + 0;
  • 145 583 789 : 2 = 72 791 894 + 1;
  • 72 791 894 : 2 = 36 395 947 + 0;
  • 36 395 947 : 2 = 18 197 973 + 1;
  • 18 197 973 : 2 = 9 098 986 + 1;
  • 9 098 986 : 2 = 4 549 493 + 0;
  • 4 549 493 : 2 = 2 274 746 + 1;
  • 2 274 746 : 2 = 1 137 373 + 0;
  • 1 137 373 : 2 = 568 686 + 1;
  • 568 686 : 2 = 284 343 + 0;
  • 284 343 : 2 = 142 171 + 1;
  • 142 171 : 2 = 71 085 + 1;
  • 71 085 : 2 = 35 542 + 1;
  • 35 542 : 2 = 17 771 + 0;
  • 17 771 : 2 = 8 885 + 1;
  • 8 885 : 2 = 4 442 + 1;
  • 4 442 : 2 = 2 221 + 0;
  • 2 221 : 2 = 1 110 + 1;
  • 1 110 : 2 = 555 + 0;
  • 555 : 2 = 277 + 1;
  • 277 : 2 = 138 + 1;
  • 138 : 2 = 69 + 0;
  • 69 : 2 = 34 + 1;
  • 34 : 2 = 17 + 0;
  • 17 : 2 = 8 + 1;
  • 8 : 2 = 4 + 0;
  • 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.

11 000 000 111 000 009 999 999 999 999 420(10) =


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


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

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


11 000 000 111 000 009 999 999 999 999 420(10) =


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


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


1,0001 0101 1010 1101 1101 0101 1010 1000 1110 1000 1011 0011 0011 1000 0011 0001 1001 1101 0110 1110 0100 0001 1111 1011 0111 100(2) × 2103


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


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


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(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;
  • 230 : 2 = 115 + 0;
  • 115 : 2 = 57 + 1;
  • 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) =


230(10) =


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


000 1010 1101 0110 1110 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 0110


Mantisă (23 biți) =
000 1010 1101 0110 1110 1010


Numărul zecimal 11 000 000 111 000 009 999 999 999 999 420 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0110 - 000 1010 1101 0110 1110 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