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

Scriere 110 000 110 101 011 011 000 000 000 000 282(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
110 000 110 101 011 011 000 000 000 000 282(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;
  • 110 000 110 101 011 011 000 000 000 000 282 : 2 = 55 000 055 050 505 505 500 000 000 000 141 + 0;
  • 55 000 055 050 505 505 500 000 000 000 141 : 2 = 27 500 027 525 252 752 750 000 000 000 070 + 1;
  • 27 500 027 525 252 752 750 000 000 000 070 : 2 = 13 750 013 762 626 376 375 000 000 000 035 + 0;
  • 13 750 013 762 626 376 375 000 000 000 035 : 2 = 6 875 006 881 313 188 187 500 000 000 017 + 1;
  • 6 875 006 881 313 188 187 500 000 000 017 : 2 = 3 437 503 440 656 594 093 750 000 000 008 + 1;
  • 3 437 503 440 656 594 093 750 000 000 008 : 2 = 1 718 751 720 328 297 046 875 000 000 004 + 0;
  • 1 718 751 720 328 297 046 875 000 000 004 : 2 = 859 375 860 164 148 523 437 500 000 002 + 0;
  • 859 375 860 164 148 523 437 500 000 002 : 2 = 429 687 930 082 074 261 718 750 000 001 + 0;
  • 429 687 930 082 074 261 718 750 000 001 : 2 = 214 843 965 041 037 130 859 375 000 000 + 1;
  • 214 843 965 041 037 130 859 375 000 000 : 2 = 107 421 982 520 518 565 429 687 500 000 + 0;
  • 107 421 982 520 518 565 429 687 500 000 : 2 = 53 710 991 260 259 282 714 843 750 000 + 0;
  • 53 710 991 260 259 282 714 843 750 000 : 2 = 26 855 495 630 129 641 357 421 875 000 + 0;
  • 26 855 495 630 129 641 357 421 875 000 : 2 = 13 427 747 815 064 820 678 710 937 500 + 0;
  • 13 427 747 815 064 820 678 710 937 500 : 2 = 6 713 873 907 532 410 339 355 468 750 + 0;
  • 6 713 873 907 532 410 339 355 468 750 : 2 = 3 356 936 953 766 205 169 677 734 375 + 0;
  • 3 356 936 953 766 205 169 677 734 375 : 2 = 1 678 468 476 883 102 584 838 867 187 + 1;
  • 1 678 468 476 883 102 584 838 867 187 : 2 = 839 234 238 441 551 292 419 433 593 + 1;
  • 839 234 238 441 551 292 419 433 593 : 2 = 419 617 119 220 775 646 209 716 796 + 1;
  • 419 617 119 220 775 646 209 716 796 : 2 = 209 808 559 610 387 823 104 858 398 + 0;
  • 209 808 559 610 387 823 104 858 398 : 2 = 104 904 279 805 193 911 552 429 199 + 0;
  • 104 904 279 805 193 911 552 429 199 : 2 = 52 452 139 902 596 955 776 214 599 + 1;
  • 52 452 139 902 596 955 776 214 599 : 2 = 26 226 069 951 298 477 888 107 299 + 1;
  • 26 226 069 951 298 477 888 107 299 : 2 = 13 113 034 975 649 238 944 053 649 + 1;
  • 13 113 034 975 649 238 944 053 649 : 2 = 6 556 517 487 824 619 472 026 824 + 1;
  • 6 556 517 487 824 619 472 026 824 : 2 = 3 278 258 743 912 309 736 013 412 + 0;
  • 3 278 258 743 912 309 736 013 412 : 2 = 1 639 129 371 956 154 868 006 706 + 0;
  • 1 639 129 371 956 154 868 006 706 : 2 = 819 564 685 978 077 434 003 353 + 0;
  • 819 564 685 978 077 434 003 353 : 2 = 409 782 342 989 038 717 001 676 + 1;
  • 409 782 342 989 038 717 001 676 : 2 = 204 891 171 494 519 358 500 838 + 0;
  • 204 891 171 494 519 358 500 838 : 2 = 102 445 585 747 259 679 250 419 + 0;
  • 102 445 585 747 259 679 250 419 : 2 = 51 222 792 873 629 839 625 209 + 1;
  • 51 222 792 873 629 839 625 209 : 2 = 25 611 396 436 814 919 812 604 + 1;
  • 25 611 396 436 814 919 812 604 : 2 = 12 805 698 218 407 459 906 302 + 0;
  • 12 805 698 218 407 459 906 302 : 2 = 6 402 849 109 203 729 953 151 + 0;
  • 6 402 849 109 203 729 953 151 : 2 = 3 201 424 554 601 864 976 575 + 1;
  • 3 201 424 554 601 864 976 575 : 2 = 1 600 712 277 300 932 488 287 + 1;
  • 1 600 712 277 300 932 488 287 : 2 = 800 356 138 650 466 244 143 + 1;
  • 800 356 138 650 466 244 143 : 2 = 400 178 069 325 233 122 071 + 1;
  • 400 178 069 325 233 122 071 : 2 = 200 089 034 662 616 561 035 + 1;
  • 200 089 034 662 616 561 035 : 2 = 100 044 517 331 308 280 517 + 1;
  • 100 044 517 331 308 280 517 : 2 = 50 022 258 665 654 140 258 + 1;
  • 50 022 258 665 654 140 258 : 2 = 25 011 129 332 827 070 129 + 0;
  • 25 011 129 332 827 070 129 : 2 = 12 505 564 666 413 535 064 + 1;
  • 12 505 564 666 413 535 064 : 2 = 6 252 782 333 206 767 532 + 0;
  • 6 252 782 333 206 767 532 : 2 = 3 126 391 166 603 383 766 + 0;
  • 3 126 391 166 603 383 766 : 2 = 1 563 195 583 301 691 883 + 0;
  • 1 563 195 583 301 691 883 : 2 = 781 597 791 650 845 941 + 1;
  • 781 597 791 650 845 941 : 2 = 390 798 895 825 422 970 + 1;
  • 390 798 895 825 422 970 : 2 = 195 399 447 912 711 485 + 0;
  • 195 399 447 912 711 485 : 2 = 97 699 723 956 355 742 + 1;
  • 97 699 723 956 355 742 : 2 = 48 849 861 978 177 871 + 0;
  • 48 849 861 978 177 871 : 2 = 24 424 930 989 088 935 + 1;
  • 24 424 930 989 088 935 : 2 = 12 212 465 494 544 467 + 1;
  • 12 212 465 494 544 467 : 2 = 6 106 232 747 272 233 + 1;
  • 6 106 232 747 272 233 : 2 = 3 053 116 373 636 116 + 1;
  • 3 053 116 373 636 116 : 2 = 1 526 558 186 818 058 + 0;
  • 1 526 558 186 818 058 : 2 = 763 279 093 409 029 + 0;
  • 763 279 093 409 029 : 2 = 381 639 546 704 514 + 1;
  • 381 639 546 704 514 : 2 = 190 819 773 352 257 + 0;
  • 190 819 773 352 257 : 2 = 95 409 886 676 128 + 1;
  • 95 409 886 676 128 : 2 = 47 704 943 338 064 + 0;
  • 47 704 943 338 064 : 2 = 23 852 471 669 032 + 0;
  • 23 852 471 669 032 : 2 = 11 926 235 834 516 + 0;
  • 11 926 235 834 516 : 2 = 5 963 117 917 258 + 0;
  • 5 963 117 917 258 : 2 = 2 981 558 958 629 + 0;
  • 2 981 558 958 629 : 2 = 1 490 779 479 314 + 1;
  • 1 490 779 479 314 : 2 = 745 389 739 657 + 0;
  • 745 389 739 657 : 2 = 372 694 869 828 + 1;
  • 372 694 869 828 : 2 = 186 347 434 914 + 0;
  • 186 347 434 914 : 2 = 93 173 717 457 + 0;
  • 93 173 717 457 : 2 = 46 586 858 728 + 1;
  • 46 586 858 728 : 2 = 23 293 429 364 + 0;
  • 23 293 429 364 : 2 = 11 646 714 682 + 0;
  • 11 646 714 682 : 2 = 5 823 357 341 + 0;
  • 5 823 357 341 : 2 = 2 911 678 670 + 1;
  • 2 911 678 670 : 2 = 1 455 839 335 + 0;
  • 1 455 839 335 : 2 = 727 919 667 + 1;
  • 727 919 667 : 2 = 363 959 833 + 1;
  • 363 959 833 : 2 = 181 979 916 + 1;
  • 181 979 916 : 2 = 90 989 958 + 0;
  • 90 989 958 : 2 = 45 494 979 + 0;
  • 45 494 979 : 2 = 22 747 489 + 1;
  • 22 747 489 : 2 = 11 373 744 + 1;
  • 11 373 744 : 2 = 5 686 872 + 0;
  • 5 686 872 : 2 = 2 843 436 + 0;
  • 2 843 436 : 2 = 1 421 718 + 0;
  • 1 421 718 : 2 = 710 859 + 0;
  • 710 859 : 2 = 355 429 + 1;
  • 355 429 : 2 = 177 714 + 1;
  • 177 714 : 2 = 88 857 + 0;
  • 88 857 : 2 = 44 428 + 1;
  • 44 428 : 2 = 22 214 + 0;
  • 22 214 : 2 = 11 107 + 0;
  • 11 107 : 2 = 5 553 + 1;
  • 5 553 : 2 = 2 776 + 1;
  • 2 776 : 2 = 1 388 + 0;
  • 1 388 : 2 = 694 + 0;
  • 694 : 2 = 347 + 0;
  • 347 : 2 = 173 + 1;
  • 173 : 2 = 86 + 1;
  • 86 : 2 = 43 + 0;
  • 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.

110 000 110 101 011 011 000 000 000 000 282(10) =


101 0110 1100 0110 0101 1000 0110 0111 0100 0100 1010 0000 1010 0111 1010 1100 0101 1111 1100 1100 1000 1111 0011 1000 0001 0001 1010(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:


110 000 110 101 011 011 000 000 000 000 282(10) =


101 0110 1100 0110 0101 1000 0110 0111 0100 0100 1010 0000 1010 0111 1010 1100 0101 1111 1100 1100 1000 1111 0011 1000 0001 0001 1010(2) =


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


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


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 1101 1000 1100 1011 0000 110 0111 0100 0100 1010 0000 1010 0111 1010 1100 0101 1111 1100 1100 1000 1111 0011 1000 0001 0001 1010 =


010 1101 1000 1100 1011 0000


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


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

0 - 1110 1001 - 010 1101 1000 1100 1011 0000

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