10 101 101 000 100 001 011 000 000 100 133 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 101 101 000 100 001 011 000 000 100 133(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
10 101 101 000 100 001 011 000 000 100 133(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;
  • 10 101 101 000 100 001 011 000 000 100 133 : 2 = 5 050 550 500 050 000 505 500 000 050 066 + 1;
  • 5 050 550 500 050 000 505 500 000 050 066 : 2 = 2 525 275 250 025 000 252 750 000 025 033 + 0;
  • 2 525 275 250 025 000 252 750 000 025 033 : 2 = 1 262 637 625 012 500 126 375 000 012 516 + 1;
  • 1 262 637 625 012 500 126 375 000 012 516 : 2 = 631 318 812 506 250 063 187 500 006 258 + 0;
  • 631 318 812 506 250 063 187 500 006 258 : 2 = 315 659 406 253 125 031 593 750 003 129 + 0;
  • 315 659 406 253 125 031 593 750 003 129 : 2 = 157 829 703 126 562 515 796 875 001 564 + 1;
  • 157 829 703 126 562 515 796 875 001 564 : 2 = 78 914 851 563 281 257 898 437 500 782 + 0;
  • 78 914 851 563 281 257 898 437 500 782 : 2 = 39 457 425 781 640 628 949 218 750 391 + 0;
  • 39 457 425 781 640 628 949 218 750 391 : 2 = 19 728 712 890 820 314 474 609 375 195 + 1;
  • 19 728 712 890 820 314 474 609 375 195 : 2 = 9 864 356 445 410 157 237 304 687 597 + 1;
  • 9 864 356 445 410 157 237 304 687 597 : 2 = 4 932 178 222 705 078 618 652 343 798 + 1;
  • 4 932 178 222 705 078 618 652 343 798 : 2 = 2 466 089 111 352 539 309 326 171 899 + 0;
  • 2 466 089 111 352 539 309 326 171 899 : 2 = 1 233 044 555 676 269 654 663 085 949 + 1;
  • 1 233 044 555 676 269 654 663 085 949 : 2 = 616 522 277 838 134 827 331 542 974 + 1;
  • 616 522 277 838 134 827 331 542 974 : 2 = 308 261 138 919 067 413 665 771 487 + 0;
  • 308 261 138 919 067 413 665 771 487 : 2 = 154 130 569 459 533 706 832 885 743 + 1;
  • 154 130 569 459 533 706 832 885 743 : 2 = 77 065 284 729 766 853 416 442 871 + 1;
  • 77 065 284 729 766 853 416 442 871 : 2 = 38 532 642 364 883 426 708 221 435 + 1;
  • 38 532 642 364 883 426 708 221 435 : 2 = 19 266 321 182 441 713 354 110 717 + 1;
  • 19 266 321 182 441 713 354 110 717 : 2 = 9 633 160 591 220 856 677 055 358 + 1;
  • 9 633 160 591 220 856 677 055 358 : 2 = 4 816 580 295 610 428 338 527 679 + 0;
  • 4 816 580 295 610 428 338 527 679 : 2 = 2 408 290 147 805 214 169 263 839 + 1;
  • 2 408 290 147 805 214 169 263 839 : 2 = 1 204 145 073 902 607 084 631 919 + 1;
  • 1 204 145 073 902 607 084 631 919 : 2 = 602 072 536 951 303 542 315 959 + 1;
  • 602 072 536 951 303 542 315 959 : 2 = 301 036 268 475 651 771 157 979 + 1;
  • 301 036 268 475 651 771 157 979 : 2 = 150 518 134 237 825 885 578 989 + 1;
  • 150 518 134 237 825 885 578 989 : 2 = 75 259 067 118 912 942 789 494 + 1;
  • 75 259 067 118 912 942 789 494 : 2 = 37 629 533 559 456 471 394 747 + 0;
  • 37 629 533 559 456 471 394 747 : 2 = 18 814 766 779 728 235 697 373 + 1;
  • 18 814 766 779 728 235 697 373 : 2 = 9 407 383 389 864 117 848 686 + 1;
  • 9 407 383 389 864 117 848 686 : 2 = 4 703 691 694 932 058 924 343 + 0;
  • 4 703 691 694 932 058 924 343 : 2 = 2 351 845 847 466 029 462 171 + 1;
  • 2 351 845 847 466 029 462 171 : 2 = 1 175 922 923 733 014 731 085 + 1;
  • 1 175 922 923 733 014 731 085 : 2 = 587 961 461 866 507 365 542 + 1;
  • 587 961 461 866 507 365 542 : 2 = 293 980 730 933 253 682 771 + 0;
  • 293 980 730 933 253 682 771 : 2 = 146 990 365 466 626 841 385 + 1;
  • 146 990 365 466 626 841 385 : 2 = 73 495 182 733 313 420 692 + 1;
  • 73 495 182 733 313 420 692 : 2 = 36 747 591 366 656 710 346 + 0;
  • 36 747 591 366 656 710 346 : 2 = 18 373 795 683 328 355 173 + 0;
  • 18 373 795 683 328 355 173 : 2 = 9 186 897 841 664 177 586 + 1;
  • 9 186 897 841 664 177 586 : 2 = 4 593 448 920 832 088 793 + 0;
  • 4 593 448 920 832 088 793 : 2 = 2 296 724 460 416 044 396 + 1;
  • 2 296 724 460 416 044 396 : 2 = 1 148 362 230 208 022 198 + 0;
  • 1 148 362 230 208 022 198 : 2 = 574 181 115 104 011 099 + 0;
  • 574 181 115 104 011 099 : 2 = 287 090 557 552 005 549 + 1;
  • 287 090 557 552 005 549 : 2 = 143 545 278 776 002 774 + 1;
  • 143 545 278 776 002 774 : 2 = 71 772 639 388 001 387 + 0;
  • 71 772 639 388 001 387 : 2 = 35 886 319 694 000 693 + 1;
  • 35 886 319 694 000 693 : 2 = 17 943 159 847 000 346 + 1;
  • 17 943 159 847 000 346 : 2 = 8 971 579 923 500 173 + 0;
  • 8 971 579 923 500 173 : 2 = 4 485 789 961 750 086 + 1;
  • 4 485 789 961 750 086 : 2 = 2 242 894 980 875 043 + 0;
  • 2 242 894 980 875 043 : 2 = 1 121 447 490 437 521 + 1;
  • 1 121 447 490 437 521 : 2 = 560 723 745 218 760 + 1;
  • 560 723 745 218 760 : 2 = 280 361 872 609 380 + 0;
  • 280 361 872 609 380 : 2 = 140 180 936 304 690 + 0;
  • 140 180 936 304 690 : 2 = 70 090 468 152 345 + 0;
  • 70 090 468 152 345 : 2 = 35 045 234 076 172 + 1;
  • 35 045 234 076 172 : 2 = 17 522 617 038 086 + 0;
  • 17 522 617 038 086 : 2 = 8 761 308 519 043 + 0;
  • 8 761 308 519 043 : 2 = 4 380 654 259 521 + 1;
  • 4 380 654 259 521 : 2 = 2 190 327 129 760 + 1;
  • 2 190 327 129 760 : 2 = 1 095 163 564 880 + 0;
  • 1 095 163 564 880 : 2 = 547 581 782 440 + 0;
  • 547 581 782 440 : 2 = 273 790 891 220 + 0;
  • 273 790 891 220 : 2 = 136 895 445 610 + 0;
  • 136 895 445 610 : 2 = 68 447 722 805 + 0;
  • 68 447 722 805 : 2 = 34 223 861 402 + 1;
  • 34 223 861 402 : 2 = 17 111 930 701 + 0;
  • 17 111 930 701 : 2 = 8 555 965 350 + 1;
  • 8 555 965 350 : 2 = 4 277 982 675 + 0;
  • 4 277 982 675 : 2 = 2 138 991 337 + 1;
  • 2 138 991 337 : 2 = 1 069 495 668 + 1;
  • 1 069 495 668 : 2 = 534 747 834 + 0;
  • 534 747 834 : 2 = 267 373 917 + 0;
  • 267 373 917 : 2 = 133 686 958 + 1;
  • 133 686 958 : 2 = 66 843 479 + 0;
  • 66 843 479 : 2 = 33 421 739 + 1;
  • 33 421 739 : 2 = 16 710 869 + 1;
  • 16 710 869 : 2 = 8 355 434 + 1;
  • 8 355 434 : 2 = 4 177 717 + 0;
  • 4 177 717 : 2 = 2 088 858 + 1;
  • 2 088 858 : 2 = 1 044 429 + 0;
  • 1 044 429 : 2 = 522 214 + 1;
  • 522 214 : 2 = 261 107 + 0;
  • 261 107 : 2 = 130 553 + 1;
  • 130 553 : 2 = 65 276 + 1;
  • 65 276 : 2 = 32 638 + 0;
  • 32 638 : 2 = 16 319 + 0;
  • 16 319 : 2 = 8 159 + 1;
  • 8 159 : 2 = 4 079 + 1;
  • 4 079 : 2 = 2 039 + 1;
  • 2 039 : 2 = 1 019 + 1;
  • 1 019 : 2 = 509 + 1;
  • 509 : 2 = 254 + 1;
  • 254 : 2 = 127 + 0;
  • 127 : 2 = 63 + 1;
  • 63 : 2 = 31 + 1;
  • 31 : 2 = 15 + 1;
  • 15 : 2 = 7 + 1;
  • 7 : 2 = 3 + 1;
  • 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.

10 101 101 000 100 001 011 000 000 100 133(10) =


111 1111 0111 1110 0110 1010 1110 1001 1010 1000 0011 0010 0011 0101 1011 0010 1001 1011 1011 0111 1110 1111 1011 0111 0010 0101(2)


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

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


10 101 101 000 100 001 011 000 000 100 133(10) =


111 1111 0111 1110 0110 1010 1110 1001 1010 1000 0011 0010 0011 0101 1011 0010 1001 1011 1011 0111 1110 1111 1011 0111 0010 0101(2) =


111 1111 0111 1110 0110 1010 1110 1001 1010 1000 0011 0010 0011 0101 1011 0010 1001 1011 1011 0111 1110 1111 1011 0111 0010 0101(2) × 20 =


1,1111 1101 1111 1001 1010 1011 1010 0110 1010 0000 1100 1000 1101 0110 1100 1010 0110 1110 1101 1111 1011 1110 1101 1100 1001 01(2) × 2102


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


Mantisă (nenormalizată):
1,1111 1101 1111 1001 1010 1011 1010 0110 1010 0000 1100 1000 1101 0110 1100 1010 0110 1110 1101 1111 1011 1110 1101 1100 1001 01


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


102 + 2(8-1) - 1 =


(102 + 127)(10) =


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


229(10) =


1110 0101(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. 111 1110 1111 1100 1101 0101 110 1001 1010 1000 0011 0010 0011 0101 1011 0010 1001 1011 1011 0111 1110 1111 1011 0111 0010 0101 =


111 1110 1111 1100 1101 0101


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 0101


Mantisă (23 biți) =
111 1110 1111 1100 1101 0101


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

0 - 1110 0101 - 111 1110 1111 1100 1101 0101


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