111 010 101 011 110 101 010 101 010 100 701 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 111 010 101 011 110 101 010 101 010 100 701(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
111 010 101 011 110 101 010 101 010 100 701(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;
  • 111 010 101 011 110 101 010 101 010 100 701 : 2 = 55 505 050 505 555 050 505 050 505 050 350 + 1;
  • 55 505 050 505 555 050 505 050 505 050 350 : 2 = 27 752 525 252 777 525 252 525 252 525 175 + 0;
  • 27 752 525 252 777 525 252 525 252 525 175 : 2 = 13 876 262 626 388 762 626 262 626 262 587 + 1;
  • 13 876 262 626 388 762 626 262 626 262 587 : 2 = 6 938 131 313 194 381 313 131 313 131 293 + 1;
  • 6 938 131 313 194 381 313 131 313 131 293 : 2 = 3 469 065 656 597 190 656 565 656 565 646 + 1;
  • 3 469 065 656 597 190 656 565 656 565 646 : 2 = 1 734 532 828 298 595 328 282 828 282 823 + 0;
  • 1 734 532 828 298 595 328 282 828 282 823 : 2 = 867 266 414 149 297 664 141 414 141 411 + 1;
  • 867 266 414 149 297 664 141 414 141 411 : 2 = 433 633 207 074 648 832 070 707 070 705 + 1;
  • 433 633 207 074 648 832 070 707 070 705 : 2 = 216 816 603 537 324 416 035 353 535 352 + 1;
  • 216 816 603 537 324 416 035 353 535 352 : 2 = 108 408 301 768 662 208 017 676 767 676 + 0;
  • 108 408 301 768 662 208 017 676 767 676 : 2 = 54 204 150 884 331 104 008 838 383 838 + 0;
  • 54 204 150 884 331 104 008 838 383 838 : 2 = 27 102 075 442 165 552 004 419 191 919 + 0;
  • 27 102 075 442 165 552 004 419 191 919 : 2 = 13 551 037 721 082 776 002 209 595 959 + 1;
  • 13 551 037 721 082 776 002 209 595 959 : 2 = 6 775 518 860 541 388 001 104 797 979 + 1;
  • 6 775 518 860 541 388 001 104 797 979 : 2 = 3 387 759 430 270 694 000 552 398 989 + 1;
  • 3 387 759 430 270 694 000 552 398 989 : 2 = 1 693 879 715 135 347 000 276 199 494 + 1;
  • 1 693 879 715 135 347 000 276 199 494 : 2 = 846 939 857 567 673 500 138 099 747 + 0;
  • 846 939 857 567 673 500 138 099 747 : 2 = 423 469 928 783 836 750 069 049 873 + 1;
  • 423 469 928 783 836 750 069 049 873 : 2 = 211 734 964 391 918 375 034 524 936 + 1;
  • 211 734 964 391 918 375 034 524 936 : 2 = 105 867 482 195 959 187 517 262 468 + 0;
  • 105 867 482 195 959 187 517 262 468 : 2 = 52 933 741 097 979 593 758 631 234 + 0;
  • 52 933 741 097 979 593 758 631 234 : 2 = 26 466 870 548 989 796 879 315 617 + 0;
  • 26 466 870 548 989 796 879 315 617 : 2 = 13 233 435 274 494 898 439 657 808 + 1;
  • 13 233 435 274 494 898 439 657 808 : 2 = 6 616 717 637 247 449 219 828 904 + 0;
  • 6 616 717 637 247 449 219 828 904 : 2 = 3 308 358 818 623 724 609 914 452 + 0;
  • 3 308 358 818 623 724 609 914 452 : 2 = 1 654 179 409 311 862 304 957 226 + 0;
  • 1 654 179 409 311 862 304 957 226 : 2 = 827 089 704 655 931 152 478 613 + 0;
  • 827 089 704 655 931 152 478 613 : 2 = 413 544 852 327 965 576 239 306 + 1;
  • 413 544 852 327 965 576 239 306 : 2 = 206 772 426 163 982 788 119 653 + 0;
  • 206 772 426 163 982 788 119 653 : 2 = 103 386 213 081 991 394 059 826 + 1;
  • 103 386 213 081 991 394 059 826 : 2 = 51 693 106 540 995 697 029 913 + 0;
  • 51 693 106 540 995 697 029 913 : 2 = 25 846 553 270 497 848 514 956 + 1;
  • 25 846 553 270 497 848 514 956 : 2 = 12 923 276 635 248 924 257 478 + 0;
  • 12 923 276 635 248 924 257 478 : 2 = 6 461 638 317 624 462 128 739 + 0;
  • 6 461 638 317 624 462 128 739 : 2 = 3 230 819 158 812 231 064 369 + 1;
  • 3 230 819 158 812 231 064 369 : 2 = 1 615 409 579 406 115 532 184 + 1;
  • 1 615 409 579 406 115 532 184 : 2 = 807 704 789 703 057 766 092 + 0;
  • 807 704 789 703 057 766 092 : 2 = 403 852 394 851 528 883 046 + 0;
  • 403 852 394 851 528 883 046 : 2 = 201 926 197 425 764 441 523 + 0;
  • 201 926 197 425 764 441 523 : 2 = 100 963 098 712 882 220 761 + 1;
  • 100 963 098 712 882 220 761 : 2 = 50 481 549 356 441 110 380 + 1;
  • 50 481 549 356 441 110 380 : 2 = 25 240 774 678 220 555 190 + 0;
  • 25 240 774 678 220 555 190 : 2 = 12 620 387 339 110 277 595 + 0;
  • 12 620 387 339 110 277 595 : 2 = 6 310 193 669 555 138 797 + 1;
  • 6 310 193 669 555 138 797 : 2 = 3 155 096 834 777 569 398 + 1;
  • 3 155 096 834 777 569 398 : 2 = 1 577 548 417 388 784 699 + 0;
  • 1 577 548 417 388 784 699 : 2 = 788 774 208 694 392 349 + 1;
  • 788 774 208 694 392 349 : 2 = 394 387 104 347 196 174 + 1;
  • 394 387 104 347 196 174 : 2 = 197 193 552 173 598 087 + 0;
  • 197 193 552 173 598 087 : 2 = 98 596 776 086 799 043 + 1;
  • 98 596 776 086 799 043 : 2 = 49 298 388 043 399 521 + 1;
  • 49 298 388 043 399 521 : 2 = 24 649 194 021 699 760 + 1;
  • 24 649 194 021 699 760 : 2 = 12 324 597 010 849 880 + 0;
  • 12 324 597 010 849 880 : 2 = 6 162 298 505 424 940 + 0;
  • 6 162 298 505 424 940 : 2 = 3 081 149 252 712 470 + 0;
  • 3 081 149 252 712 470 : 2 = 1 540 574 626 356 235 + 0;
  • 1 540 574 626 356 235 : 2 = 770 287 313 178 117 + 1;
  • 770 287 313 178 117 : 2 = 385 143 656 589 058 + 1;
  • 385 143 656 589 058 : 2 = 192 571 828 294 529 + 0;
  • 192 571 828 294 529 : 2 = 96 285 914 147 264 + 1;
  • 96 285 914 147 264 : 2 = 48 142 957 073 632 + 0;
  • 48 142 957 073 632 : 2 = 24 071 478 536 816 + 0;
  • 24 071 478 536 816 : 2 = 12 035 739 268 408 + 0;
  • 12 035 739 268 408 : 2 = 6 017 869 634 204 + 0;
  • 6 017 869 634 204 : 2 = 3 008 934 817 102 + 0;
  • 3 008 934 817 102 : 2 = 1 504 467 408 551 + 0;
  • 1 504 467 408 551 : 2 = 752 233 704 275 + 1;
  • 752 233 704 275 : 2 = 376 116 852 137 + 1;
  • 376 116 852 137 : 2 = 188 058 426 068 + 1;
  • 188 058 426 068 : 2 = 94 029 213 034 + 0;
  • 94 029 213 034 : 2 = 47 014 606 517 + 0;
  • 47 014 606 517 : 2 = 23 507 303 258 + 1;
  • 23 507 303 258 : 2 = 11 753 651 629 + 0;
  • 11 753 651 629 : 2 = 5 876 825 814 + 1;
  • 5 876 825 814 : 2 = 2 938 412 907 + 0;
  • 2 938 412 907 : 2 = 1 469 206 453 + 1;
  • 1 469 206 453 : 2 = 734 603 226 + 1;
  • 734 603 226 : 2 = 367 301 613 + 0;
  • 367 301 613 : 2 = 183 650 806 + 1;
  • 183 650 806 : 2 = 91 825 403 + 0;
  • 91 825 403 : 2 = 45 912 701 + 1;
  • 45 912 701 : 2 = 22 956 350 + 1;
  • 22 956 350 : 2 = 11 478 175 + 0;
  • 11 478 175 : 2 = 5 739 087 + 1;
  • 5 739 087 : 2 = 2 869 543 + 1;
  • 2 869 543 : 2 = 1 434 771 + 1;
  • 1 434 771 : 2 = 717 385 + 1;
  • 717 385 : 2 = 358 692 + 1;
  • 358 692 : 2 = 179 346 + 0;
  • 179 346 : 2 = 89 673 + 0;
  • 89 673 : 2 = 44 836 + 1;
  • 44 836 : 2 = 22 418 + 0;
  • 22 418 : 2 = 11 209 + 0;
  • 11 209 : 2 = 5 604 + 1;
  • 5 604 : 2 = 2 802 + 0;
  • 2 802 : 2 = 1 401 + 0;
  • 1 401 : 2 = 700 + 1;
  • 700 : 2 = 350 + 0;
  • 350 : 2 = 175 + 0;
  • 175 : 2 = 87 + 1;
  • 87 : 2 = 43 + 1;
  • 43 : 2 = 21 + 1;
  • 21 : 2 = 10 + 1;
  • 10 : 2 = 5 + 0;
  • 5 : 2 = 2 + 1;
  • 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.

111 010 101 011 110 101 010 101 010 100 701(10) =


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


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

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


111 010 101 011 110 101 010 101 010 100 701(10) =


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


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


1,0101 1110 0100 1001 0011 1110 1101 0110 1010 0111 0000 0010 1100 0011 1011 0110 0110 0011 0010 1010 0001 0001 1011 1100 0111 0111 01(2) × 2106


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


Mantisă (nenormalizată):
1,0101 1110 0100 1001 0011 1110 1101 0110 1010 0111 0000 0010 1100 0011 1011 0110 0110 0011 0010 1010 0001 0001 1011 1100 0111 0111 01


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


106 + 2(8-1) - 1 =


(106 + 127)(10) =


233(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;
  • 233 : 2 = 116 + 1;
  • 116 : 2 = 58 + 0;
  • 58 : 2 = 29 + 0;
  • 29 : 2 = 14 + 1;
  • 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) =


233(10) =


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


010 1111 0010 0100 1001 1111


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 1001


Mantisă (23 biți) =
010 1111 0010 0100 1001 1111


Numărul zecimal 111 010 101 011 110 101 010 101 010 100 701 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 1001 - 010 1111 0010 0100 1001 1111


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