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

Scriere 1 001 010 100 110 100 011 011 000 100 415(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 010 100 110 100 011 011 000 100 415(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 010 100 110 100 011 011 000 100 415 : 2 = 500 505 050 055 050 005 505 500 050 207 + 1;
  • 500 505 050 055 050 005 505 500 050 207 : 2 = 250 252 525 027 525 002 752 750 025 103 + 1;
  • 250 252 525 027 525 002 752 750 025 103 : 2 = 125 126 262 513 762 501 376 375 012 551 + 1;
  • 125 126 262 513 762 501 376 375 012 551 : 2 = 62 563 131 256 881 250 688 187 506 275 + 1;
  • 62 563 131 256 881 250 688 187 506 275 : 2 = 31 281 565 628 440 625 344 093 753 137 + 1;
  • 31 281 565 628 440 625 344 093 753 137 : 2 = 15 640 782 814 220 312 672 046 876 568 + 1;
  • 15 640 782 814 220 312 672 046 876 568 : 2 = 7 820 391 407 110 156 336 023 438 284 + 0;
  • 7 820 391 407 110 156 336 023 438 284 : 2 = 3 910 195 703 555 078 168 011 719 142 + 0;
  • 3 910 195 703 555 078 168 011 719 142 : 2 = 1 955 097 851 777 539 084 005 859 571 + 0;
  • 1 955 097 851 777 539 084 005 859 571 : 2 = 977 548 925 888 769 542 002 929 785 + 1;
  • 977 548 925 888 769 542 002 929 785 : 2 = 488 774 462 944 384 771 001 464 892 + 1;
  • 488 774 462 944 384 771 001 464 892 : 2 = 244 387 231 472 192 385 500 732 446 + 0;
  • 244 387 231 472 192 385 500 732 446 : 2 = 122 193 615 736 096 192 750 366 223 + 0;
  • 122 193 615 736 096 192 750 366 223 : 2 = 61 096 807 868 048 096 375 183 111 + 1;
  • 61 096 807 868 048 096 375 183 111 : 2 = 30 548 403 934 024 048 187 591 555 + 1;
  • 30 548 403 934 024 048 187 591 555 : 2 = 15 274 201 967 012 024 093 795 777 + 1;
  • 15 274 201 967 012 024 093 795 777 : 2 = 7 637 100 983 506 012 046 897 888 + 1;
  • 7 637 100 983 506 012 046 897 888 : 2 = 3 818 550 491 753 006 023 448 944 + 0;
  • 3 818 550 491 753 006 023 448 944 : 2 = 1 909 275 245 876 503 011 724 472 + 0;
  • 1 909 275 245 876 503 011 724 472 : 2 = 954 637 622 938 251 505 862 236 + 0;
  • 954 637 622 938 251 505 862 236 : 2 = 477 318 811 469 125 752 931 118 + 0;
  • 477 318 811 469 125 752 931 118 : 2 = 238 659 405 734 562 876 465 559 + 0;
  • 238 659 405 734 562 876 465 559 : 2 = 119 329 702 867 281 438 232 779 + 1;
  • 119 329 702 867 281 438 232 779 : 2 = 59 664 851 433 640 719 116 389 + 1;
  • 59 664 851 433 640 719 116 389 : 2 = 29 832 425 716 820 359 558 194 + 1;
  • 29 832 425 716 820 359 558 194 : 2 = 14 916 212 858 410 179 779 097 + 0;
  • 14 916 212 858 410 179 779 097 : 2 = 7 458 106 429 205 089 889 548 + 1;
  • 7 458 106 429 205 089 889 548 : 2 = 3 729 053 214 602 544 944 774 + 0;
  • 3 729 053 214 602 544 944 774 : 2 = 1 864 526 607 301 272 472 387 + 0;
  • 1 864 526 607 301 272 472 387 : 2 = 932 263 303 650 636 236 193 + 1;
  • 932 263 303 650 636 236 193 : 2 = 466 131 651 825 318 118 096 + 1;
  • 466 131 651 825 318 118 096 : 2 = 233 065 825 912 659 059 048 + 0;
  • 233 065 825 912 659 059 048 : 2 = 116 532 912 956 329 529 524 + 0;
  • 116 532 912 956 329 529 524 : 2 = 58 266 456 478 164 764 762 + 0;
  • 58 266 456 478 164 764 762 : 2 = 29 133 228 239 082 382 381 + 0;
  • 29 133 228 239 082 382 381 : 2 = 14 566 614 119 541 191 190 + 1;
  • 14 566 614 119 541 191 190 : 2 = 7 283 307 059 770 595 595 + 0;
  • 7 283 307 059 770 595 595 : 2 = 3 641 653 529 885 297 797 + 1;
  • 3 641 653 529 885 297 797 : 2 = 1 820 826 764 942 648 898 + 1;
  • 1 820 826 764 942 648 898 : 2 = 910 413 382 471 324 449 + 0;
  • 910 413 382 471 324 449 : 2 = 455 206 691 235 662 224 + 1;
  • 455 206 691 235 662 224 : 2 = 227 603 345 617 831 112 + 0;
  • 227 603 345 617 831 112 : 2 = 113 801 672 808 915 556 + 0;
  • 113 801 672 808 915 556 : 2 = 56 900 836 404 457 778 + 0;
  • 56 900 836 404 457 778 : 2 = 28 450 418 202 228 889 + 0;
  • 28 450 418 202 228 889 : 2 = 14 225 209 101 114 444 + 1;
  • 14 225 209 101 114 444 : 2 = 7 112 604 550 557 222 + 0;
  • 7 112 604 550 557 222 : 2 = 3 556 302 275 278 611 + 0;
  • 3 556 302 275 278 611 : 2 = 1 778 151 137 639 305 + 1;
  • 1 778 151 137 639 305 : 2 = 889 075 568 819 652 + 1;
  • 889 075 568 819 652 : 2 = 444 537 784 409 826 + 0;
  • 444 537 784 409 826 : 2 = 222 268 892 204 913 + 0;
  • 222 268 892 204 913 : 2 = 111 134 446 102 456 + 1;
  • 111 134 446 102 456 : 2 = 55 567 223 051 228 + 0;
  • 55 567 223 051 228 : 2 = 27 783 611 525 614 + 0;
  • 27 783 611 525 614 : 2 = 13 891 805 762 807 + 0;
  • 13 891 805 762 807 : 2 = 6 945 902 881 403 + 1;
  • 6 945 902 881 403 : 2 = 3 472 951 440 701 + 1;
  • 3 472 951 440 701 : 2 = 1 736 475 720 350 + 1;
  • 1 736 475 720 350 : 2 = 868 237 860 175 + 0;
  • 868 237 860 175 : 2 = 434 118 930 087 + 1;
  • 434 118 930 087 : 2 = 217 059 465 043 + 1;
  • 217 059 465 043 : 2 = 108 529 732 521 + 1;
  • 108 529 732 521 : 2 = 54 264 866 260 + 1;
  • 54 264 866 260 : 2 = 27 132 433 130 + 0;
  • 27 132 433 130 : 2 = 13 566 216 565 + 0;
  • 13 566 216 565 : 2 = 6 783 108 282 + 1;
  • 6 783 108 282 : 2 = 3 391 554 141 + 0;
  • 3 391 554 141 : 2 = 1 695 777 070 + 1;
  • 1 695 777 070 : 2 = 847 888 535 + 0;
  • 847 888 535 : 2 = 423 944 267 + 1;
  • 423 944 267 : 2 = 211 972 133 + 1;
  • 211 972 133 : 2 = 105 986 066 + 1;
  • 105 986 066 : 2 = 52 993 033 + 0;
  • 52 993 033 : 2 = 26 496 516 + 1;
  • 26 496 516 : 2 = 13 248 258 + 0;
  • 13 248 258 : 2 = 6 624 129 + 0;
  • 6 624 129 : 2 = 3 312 064 + 1;
  • 3 312 064 : 2 = 1 656 032 + 0;
  • 1 656 032 : 2 = 828 016 + 0;
  • 828 016 : 2 = 414 008 + 0;
  • 414 008 : 2 = 207 004 + 0;
  • 207 004 : 2 = 103 502 + 0;
  • 103 502 : 2 = 51 751 + 0;
  • 51 751 : 2 = 25 875 + 1;
  • 25 875 : 2 = 12 937 + 1;
  • 12 937 : 2 = 6 468 + 1;
  • 6 468 : 2 = 3 234 + 0;
  • 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 010 100 110 100 011 011 000 100 415(10) =


1100 1010 0010 0111 0000 0010 0101 1101 0100 1111 0111 0001 0011 0010 0001 0110 1000 0110 0101 1100 0001 1110 0110 0011 1111(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 010 100 110 100 011 011 000 100 415(10) =


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


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


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


100 1010 0010 0111 0000 0010


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 0111 0000 0010


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

0 - 1110 0010 - 100 1010 0010 0111 0000 0010


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