1 001 100 111 001 101 111 099 999 999 463 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 1 001 100 111 001 101 111 099 999 999 463(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 001 100 111 001 101 111 099 999 999 463(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 001 100 111 001 101 111 099 999 999 463 : 2 = 500 550 055 500 550 555 549 999 999 731 + 1;
  • 500 550 055 500 550 555 549 999 999 731 : 2 = 250 275 027 750 275 277 774 999 999 865 + 1;
  • 250 275 027 750 275 277 774 999 999 865 : 2 = 125 137 513 875 137 638 887 499 999 932 + 1;
  • 125 137 513 875 137 638 887 499 999 932 : 2 = 62 568 756 937 568 819 443 749 999 966 + 0;
  • 62 568 756 937 568 819 443 749 999 966 : 2 = 31 284 378 468 784 409 721 874 999 983 + 0;
  • 31 284 378 468 784 409 721 874 999 983 : 2 = 15 642 189 234 392 204 860 937 499 991 + 1;
  • 15 642 189 234 392 204 860 937 499 991 : 2 = 7 821 094 617 196 102 430 468 749 995 + 1;
  • 7 821 094 617 196 102 430 468 749 995 : 2 = 3 910 547 308 598 051 215 234 374 997 + 1;
  • 3 910 547 308 598 051 215 234 374 997 : 2 = 1 955 273 654 299 025 607 617 187 498 + 1;
  • 1 955 273 654 299 025 607 617 187 498 : 2 = 977 636 827 149 512 803 808 593 749 + 0;
  • 977 636 827 149 512 803 808 593 749 : 2 = 488 818 413 574 756 401 904 296 874 + 1;
  • 488 818 413 574 756 401 904 296 874 : 2 = 244 409 206 787 378 200 952 148 437 + 0;
  • 244 409 206 787 378 200 952 148 437 : 2 = 122 204 603 393 689 100 476 074 218 + 1;
  • 122 204 603 393 689 100 476 074 218 : 2 = 61 102 301 696 844 550 238 037 109 + 0;
  • 61 102 301 696 844 550 238 037 109 : 2 = 30 551 150 848 422 275 119 018 554 + 1;
  • 30 551 150 848 422 275 119 018 554 : 2 = 15 275 575 424 211 137 559 509 277 + 0;
  • 15 275 575 424 211 137 559 509 277 : 2 = 7 637 787 712 105 568 779 754 638 + 1;
  • 7 637 787 712 105 568 779 754 638 : 2 = 3 818 893 856 052 784 389 877 319 + 0;
  • 3 818 893 856 052 784 389 877 319 : 2 = 1 909 446 928 026 392 194 938 659 + 1;
  • 1 909 446 928 026 392 194 938 659 : 2 = 954 723 464 013 196 097 469 329 + 1;
  • 954 723 464 013 196 097 469 329 : 2 = 477 361 732 006 598 048 734 664 + 1;
  • 477 361 732 006 598 048 734 664 : 2 = 238 680 866 003 299 024 367 332 + 0;
  • 238 680 866 003 299 024 367 332 : 2 = 119 340 433 001 649 512 183 666 + 0;
  • 119 340 433 001 649 512 183 666 : 2 = 59 670 216 500 824 756 091 833 + 0;
  • 59 670 216 500 824 756 091 833 : 2 = 29 835 108 250 412 378 045 916 + 1;
  • 29 835 108 250 412 378 045 916 : 2 = 14 917 554 125 206 189 022 958 + 0;
  • 14 917 554 125 206 189 022 958 : 2 = 7 458 777 062 603 094 511 479 + 0;
  • 7 458 777 062 603 094 511 479 : 2 = 3 729 388 531 301 547 255 739 + 1;
  • 3 729 388 531 301 547 255 739 : 2 = 1 864 694 265 650 773 627 869 + 1;
  • 1 864 694 265 650 773 627 869 : 2 = 932 347 132 825 386 813 934 + 1;
  • 932 347 132 825 386 813 934 : 2 = 466 173 566 412 693 406 967 + 0;
  • 466 173 566 412 693 406 967 : 2 = 233 086 783 206 346 703 483 + 1;
  • 233 086 783 206 346 703 483 : 2 = 116 543 391 603 173 351 741 + 1;
  • 116 543 391 603 173 351 741 : 2 = 58 271 695 801 586 675 870 + 1;
  • 58 271 695 801 586 675 870 : 2 = 29 135 847 900 793 337 935 + 0;
  • 29 135 847 900 793 337 935 : 2 = 14 567 923 950 396 668 967 + 1;
  • 14 567 923 950 396 668 967 : 2 = 7 283 961 975 198 334 483 + 1;
  • 7 283 961 975 198 334 483 : 2 = 3 641 980 987 599 167 241 + 1;
  • 3 641 980 987 599 167 241 : 2 = 1 820 990 493 799 583 620 + 1;
  • 1 820 990 493 799 583 620 : 2 = 910 495 246 899 791 810 + 0;
  • 910 495 246 899 791 810 : 2 = 455 247 623 449 895 905 + 0;
  • 455 247 623 449 895 905 : 2 = 227 623 811 724 947 952 + 1;
  • 227 623 811 724 947 952 : 2 = 113 811 905 862 473 976 + 0;
  • 113 811 905 862 473 976 : 2 = 56 905 952 931 236 988 + 0;
  • 56 905 952 931 236 988 : 2 = 28 452 976 465 618 494 + 0;
  • 28 452 976 465 618 494 : 2 = 14 226 488 232 809 247 + 0;
  • 14 226 488 232 809 247 : 2 = 7 113 244 116 404 623 + 1;
  • 7 113 244 116 404 623 : 2 = 3 556 622 058 202 311 + 1;
  • 3 556 622 058 202 311 : 2 = 1 778 311 029 101 155 + 1;
  • 1 778 311 029 101 155 : 2 = 889 155 514 550 577 + 1;
  • 889 155 514 550 577 : 2 = 444 577 757 275 288 + 1;
  • 444 577 757 275 288 : 2 = 222 288 878 637 644 + 0;
  • 222 288 878 637 644 : 2 = 111 144 439 318 822 + 0;
  • 111 144 439 318 822 : 2 = 55 572 219 659 411 + 0;
  • 55 572 219 659 411 : 2 = 27 786 109 829 705 + 1;
  • 27 786 109 829 705 : 2 = 13 893 054 914 852 + 1;
  • 13 893 054 914 852 : 2 = 6 946 527 457 426 + 0;
  • 6 946 527 457 426 : 2 = 3 473 263 728 713 + 0;
  • 3 473 263 728 713 : 2 = 1 736 631 864 356 + 1;
  • 1 736 631 864 356 : 2 = 868 315 932 178 + 0;
  • 868 315 932 178 : 2 = 434 157 966 089 + 0;
  • 434 157 966 089 : 2 = 217 078 983 044 + 1;
  • 217 078 983 044 : 2 = 108 539 491 522 + 0;
  • 108 539 491 522 : 2 = 54 269 745 761 + 0;
  • 54 269 745 761 : 2 = 27 134 872 880 + 1;
  • 27 134 872 880 : 2 = 13 567 436 440 + 0;
  • 13 567 436 440 : 2 = 6 783 718 220 + 0;
  • 6 783 718 220 : 2 = 3 391 859 110 + 0;
  • 3 391 859 110 : 2 = 1 695 929 555 + 0;
  • 1 695 929 555 : 2 = 847 964 777 + 1;
  • 847 964 777 : 2 = 423 982 388 + 1;
  • 423 982 388 : 2 = 211 991 194 + 0;
  • 211 991 194 : 2 = 105 995 597 + 0;
  • 105 995 597 : 2 = 52 997 798 + 1;
  • 52 997 798 : 2 = 26 498 899 + 0;
  • 26 498 899 : 2 = 13 249 449 + 1;
  • 13 249 449 : 2 = 6 624 724 + 1;
  • 6 624 724 : 2 = 3 312 362 + 0;
  • 3 312 362 : 2 = 1 656 181 + 0;
  • 1 656 181 : 2 = 828 090 + 1;
  • 828 090 : 2 = 414 045 + 0;
  • 414 045 : 2 = 207 022 + 1;
  • 207 022 : 2 = 103 511 + 0;
  • 103 511 : 2 = 51 755 + 1;
  • 51 755 : 2 = 25 877 + 1;
  • 25 877 : 2 = 12 938 + 1;
  • 12 938 : 2 = 6 469 + 0;
  • 6 469 : 2 = 3 234 + 1;
  • 3 234 : 2 = 1 617 + 0;
  • 1 617 : 2 = 808 + 1;
  • 808 : 2 = 404 + 0;
  • 404 : 2 = 202 + 0;
  • 202 : 2 = 101 + 0;
  • 101 : 2 = 50 + 1;
  • 50 : 2 = 25 + 0;
  • 25 : 2 = 12 + 1;
  • 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 001 100 111 001 101 111 099 999 999 463(10) =


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


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

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


1 001 100 111 001 101 111 099 999 999 463(10) =


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


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


1,1001 0100 0101 0111 0101 0011 0100 1100 0010 0100 1001 1000 1111 1000 0100 1111 0111 0111 0010 0011 1010 1010 1011 1100 111(2) × 299


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


Mantisă (nenormalizată):
1,1001 0100 0101 0111 0101 0011 0100 1100 0010 0100 1001 1000 1111 1000 0100 1111 0111 0111 0010 0011 1010 1010 1011 1100 111


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


99 + 2(8-1) - 1 =


(99 + 127)(10) =


226(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;
  • 226 : 2 = 113 + 0;
  • 113 : 2 = 56 + 1;
  • 56 : 2 = 28 + 0;
  • 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) =


226(10) =


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


100 1010 0010 1011 1010 1001


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 0010


Mantisă (23 biți) =
100 1010 0010 1011 1010 1001


Numărul zecimal 1 001 100 111 001 101 111 099 999 999 463 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0010 - 100 1010 0010 1011 1010 1001


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