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

Scriere 111 000 011 010 101 110 100 111 110 100 667(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 000 011 010 101 110 100 111 110 100 667(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 000 011 010 101 110 100 111 110 100 667 : 2 = 55 500 005 505 050 555 050 055 555 050 333 + 1;
  • 55 500 005 505 050 555 050 055 555 050 333 : 2 = 27 750 002 752 525 277 525 027 777 525 166 + 1;
  • 27 750 002 752 525 277 525 027 777 525 166 : 2 = 13 875 001 376 262 638 762 513 888 762 583 + 0;
  • 13 875 001 376 262 638 762 513 888 762 583 : 2 = 6 937 500 688 131 319 381 256 944 381 291 + 1;
  • 6 937 500 688 131 319 381 256 944 381 291 : 2 = 3 468 750 344 065 659 690 628 472 190 645 + 1;
  • 3 468 750 344 065 659 690 628 472 190 645 : 2 = 1 734 375 172 032 829 845 314 236 095 322 + 1;
  • 1 734 375 172 032 829 845 314 236 095 322 : 2 = 867 187 586 016 414 922 657 118 047 661 + 0;
  • 867 187 586 016 414 922 657 118 047 661 : 2 = 433 593 793 008 207 461 328 559 023 830 + 1;
  • 433 593 793 008 207 461 328 559 023 830 : 2 = 216 796 896 504 103 730 664 279 511 915 + 0;
  • 216 796 896 504 103 730 664 279 511 915 : 2 = 108 398 448 252 051 865 332 139 755 957 + 1;
  • 108 398 448 252 051 865 332 139 755 957 : 2 = 54 199 224 126 025 932 666 069 877 978 + 1;
  • 54 199 224 126 025 932 666 069 877 978 : 2 = 27 099 612 063 012 966 333 034 938 989 + 0;
  • 27 099 612 063 012 966 333 034 938 989 : 2 = 13 549 806 031 506 483 166 517 469 494 + 1;
  • 13 549 806 031 506 483 166 517 469 494 : 2 = 6 774 903 015 753 241 583 258 734 747 + 0;
  • 6 774 903 015 753 241 583 258 734 747 : 2 = 3 387 451 507 876 620 791 629 367 373 + 1;
  • 3 387 451 507 876 620 791 629 367 373 : 2 = 1 693 725 753 938 310 395 814 683 686 + 1;
  • 1 693 725 753 938 310 395 814 683 686 : 2 = 846 862 876 969 155 197 907 341 843 + 0;
  • 846 862 876 969 155 197 907 341 843 : 2 = 423 431 438 484 577 598 953 670 921 + 1;
  • 423 431 438 484 577 598 953 670 921 : 2 = 211 715 719 242 288 799 476 835 460 + 1;
  • 211 715 719 242 288 799 476 835 460 : 2 = 105 857 859 621 144 399 738 417 730 + 0;
  • 105 857 859 621 144 399 738 417 730 : 2 = 52 928 929 810 572 199 869 208 865 + 0;
  • 52 928 929 810 572 199 869 208 865 : 2 = 26 464 464 905 286 099 934 604 432 + 1;
  • 26 464 464 905 286 099 934 604 432 : 2 = 13 232 232 452 643 049 967 302 216 + 0;
  • 13 232 232 452 643 049 967 302 216 : 2 = 6 616 116 226 321 524 983 651 108 + 0;
  • 6 616 116 226 321 524 983 651 108 : 2 = 3 308 058 113 160 762 491 825 554 + 0;
  • 3 308 058 113 160 762 491 825 554 : 2 = 1 654 029 056 580 381 245 912 777 + 0;
  • 1 654 029 056 580 381 245 912 777 : 2 = 827 014 528 290 190 622 956 388 + 1;
  • 827 014 528 290 190 622 956 388 : 2 = 413 507 264 145 095 311 478 194 + 0;
  • 413 507 264 145 095 311 478 194 : 2 = 206 753 632 072 547 655 739 097 + 0;
  • 206 753 632 072 547 655 739 097 : 2 = 103 376 816 036 273 827 869 548 + 1;
  • 103 376 816 036 273 827 869 548 : 2 = 51 688 408 018 136 913 934 774 + 0;
  • 51 688 408 018 136 913 934 774 : 2 = 25 844 204 009 068 456 967 387 + 0;
  • 25 844 204 009 068 456 967 387 : 2 = 12 922 102 004 534 228 483 693 + 1;
  • 12 922 102 004 534 228 483 693 : 2 = 6 461 051 002 267 114 241 846 + 1;
  • 6 461 051 002 267 114 241 846 : 2 = 3 230 525 501 133 557 120 923 + 0;
  • 3 230 525 501 133 557 120 923 : 2 = 1 615 262 750 566 778 560 461 + 1;
  • 1 615 262 750 566 778 560 461 : 2 = 807 631 375 283 389 280 230 + 1;
  • 807 631 375 283 389 280 230 : 2 = 403 815 687 641 694 640 115 + 0;
  • 403 815 687 641 694 640 115 : 2 = 201 907 843 820 847 320 057 + 1;
  • 201 907 843 820 847 320 057 : 2 = 100 953 921 910 423 660 028 + 1;
  • 100 953 921 910 423 660 028 : 2 = 50 476 960 955 211 830 014 + 0;
  • 50 476 960 955 211 830 014 : 2 = 25 238 480 477 605 915 007 + 0;
  • 25 238 480 477 605 915 007 : 2 = 12 619 240 238 802 957 503 + 1;
  • 12 619 240 238 802 957 503 : 2 = 6 309 620 119 401 478 751 + 1;
  • 6 309 620 119 401 478 751 : 2 = 3 154 810 059 700 739 375 + 1;
  • 3 154 810 059 700 739 375 : 2 = 1 577 405 029 850 369 687 + 1;
  • 1 577 405 029 850 369 687 : 2 = 788 702 514 925 184 843 + 1;
  • 788 702 514 925 184 843 : 2 = 394 351 257 462 592 421 + 1;
  • 394 351 257 462 592 421 : 2 = 197 175 628 731 296 210 + 1;
  • 197 175 628 731 296 210 : 2 = 98 587 814 365 648 105 + 0;
  • 98 587 814 365 648 105 : 2 = 49 293 907 182 824 052 + 1;
  • 49 293 907 182 824 052 : 2 = 24 646 953 591 412 026 + 0;
  • 24 646 953 591 412 026 : 2 = 12 323 476 795 706 013 + 0;
  • 12 323 476 795 706 013 : 2 = 6 161 738 397 853 006 + 1;
  • 6 161 738 397 853 006 : 2 = 3 080 869 198 926 503 + 0;
  • 3 080 869 198 926 503 : 2 = 1 540 434 599 463 251 + 1;
  • 1 540 434 599 463 251 : 2 = 770 217 299 731 625 + 1;
  • 770 217 299 731 625 : 2 = 385 108 649 865 812 + 1;
  • 385 108 649 865 812 : 2 = 192 554 324 932 906 + 0;
  • 192 554 324 932 906 : 2 = 96 277 162 466 453 + 0;
  • 96 277 162 466 453 : 2 = 48 138 581 233 226 + 1;
  • 48 138 581 233 226 : 2 = 24 069 290 616 613 + 0;
  • 24 069 290 616 613 : 2 = 12 034 645 308 306 + 1;
  • 12 034 645 308 306 : 2 = 6 017 322 654 153 + 0;
  • 6 017 322 654 153 : 2 = 3 008 661 327 076 + 1;
  • 3 008 661 327 076 : 2 = 1 504 330 663 538 + 0;
  • 1 504 330 663 538 : 2 = 752 165 331 769 + 0;
  • 752 165 331 769 : 2 = 376 082 665 884 + 1;
  • 376 082 665 884 : 2 = 188 041 332 942 + 0;
  • 188 041 332 942 : 2 = 94 020 666 471 + 0;
  • 94 020 666 471 : 2 = 47 010 333 235 + 1;
  • 47 010 333 235 : 2 = 23 505 166 617 + 1;
  • 23 505 166 617 : 2 = 11 752 583 308 + 1;
  • 11 752 583 308 : 2 = 5 876 291 654 + 0;
  • 5 876 291 654 : 2 = 2 938 145 827 + 0;
  • 2 938 145 827 : 2 = 1 469 072 913 + 1;
  • 1 469 072 913 : 2 = 734 536 456 + 1;
  • 734 536 456 : 2 = 367 268 228 + 0;
  • 367 268 228 : 2 = 183 634 114 + 0;
  • 183 634 114 : 2 = 91 817 057 + 0;
  • 91 817 057 : 2 = 45 908 528 + 1;
  • 45 908 528 : 2 = 22 954 264 + 0;
  • 22 954 264 : 2 = 11 477 132 + 0;
  • 11 477 132 : 2 = 5 738 566 + 0;
  • 5 738 566 : 2 = 2 869 283 + 0;
  • 2 869 283 : 2 = 1 434 641 + 1;
  • 1 434 641 : 2 = 717 320 + 1;
  • 717 320 : 2 = 358 660 + 0;
  • 358 660 : 2 = 179 330 + 0;
  • 179 330 : 2 = 89 665 + 0;
  • 89 665 : 2 = 44 832 + 1;
  • 44 832 : 2 = 22 416 + 0;
  • 22 416 : 2 = 11 208 + 0;
  • 11 208 : 2 = 5 604 + 0;
  • 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 000 011 010 101 110 100 111 110 100 667(10) =


101 0111 1001 0000 0100 0110 0001 0001 1001 1100 1001 0101 0011 1010 0101 1111 1100 1101 1011 0010 0100 0010 0110 1101 0110 1011 1011(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 000 011 010 101 110 100 111 110 100 667(10) =


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


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


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


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


010 1111 0010 0000 1000 1100


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 0000 1000 1100


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

0 - 1110 1001 - 010 1111 0010 0000 1000 1100

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