110 110 100 101 009 999 999 999 999 999 659 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 110 110 100 101 009 999 999 999 999 999 659(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 110 100 101 009 999 999 999 999 999 659(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 110 100 101 009 999 999 999 999 999 659 : 2 = 55 055 050 050 504 999 999 999 999 999 829 + 1;
  • 55 055 050 050 504 999 999 999 999 999 829 : 2 = 27 527 525 025 252 499 999 999 999 999 914 + 1;
  • 27 527 525 025 252 499 999 999 999 999 914 : 2 = 13 763 762 512 626 249 999 999 999 999 957 + 0;
  • 13 763 762 512 626 249 999 999 999 999 957 : 2 = 6 881 881 256 313 124 999 999 999 999 978 + 1;
  • 6 881 881 256 313 124 999 999 999 999 978 : 2 = 3 440 940 628 156 562 499 999 999 999 989 + 0;
  • 3 440 940 628 156 562 499 999 999 999 989 : 2 = 1 720 470 314 078 281 249 999 999 999 994 + 1;
  • 1 720 470 314 078 281 249 999 999 999 994 : 2 = 860 235 157 039 140 624 999 999 999 997 + 0;
  • 860 235 157 039 140 624 999 999 999 997 : 2 = 430 117 578 519 570 312 499 999 999 998 + 1;
  • 430 117 578 519 570 312 499 999 999 998 : 2 = 215 058 789 259 785 156 249 999 999 999 + 0;
  • 215 058 789 259 785 156 249 999 999 999 : 2 = 107 529 394 629 892 578 124 999 999 999 + 1;
  • 107 529 394 629 892 578 124 999 999 999 : 2 = 53 764 697 314 946 289 062 499 999 999 + 1;
  • 53 764 697 314 946 289 062 499 999 999 : 2 = 26 882 348 657 473 144 531 249 999 999 + 1;
  • 26 882 348 657 473 144 531 249 999 999 : 2 = 13 441 174 328 736 572 265 624 999 999 + 1;
  • 13 441 174 328 736 572 265 624 999 999 : 2 = 6 720 587 164 368 286 132 812 499 999 + 1;
  • 6 720 587 164 368 286 132 812 499 999 : 2 = 3 360 293 582 184 143 066 406 249 999 + 1;
  • 3 360 293 582 184 143 066 406 249 999 : 2 = 1 680 146 791 092 071 533 203 124 999 + 1;
  • 1 680 146 791 092 071 533 203 124 999 : 2 = 840 073 395 546 035 766 601 562 499 + 1;
  • 840 073 395 546 035 766 601 562 499 : 2 = 420 036 697 773 017 883 300 781 249 + 1;
  • 420 036 697 773 017 883 300 781 249 : 2 = 210 018 348 886 508 941 650 390 624 + 1;
  • 210 018 348 886 508 941 650 390 624 : 2 = 105 009 174 443 254 470 825 195 312 + 0;
  • 105 009 174 443 254 470 825 195 312 : 2 = 52 504 587 221 627 235 412 597 656 + 0;
  • 52 504 587 221 627 235 412 597 656 : 2 = 26 252 293 610 813 617 706 298 828 + 0;
  • 26 252 293 610 813 617 706 298 828 : 2 = 13 126 146 805 406 808 853 149 414 + 0;
  • 13 126 146 805 406 808 853 149 414 : 2 = 6 563 073 402 703 404 426 574 707 + 0;
  • 6 563 073 402 703 404 426 574 707 : 2 = 3 281 536 701 351 702 213 287 353 + 1;
  • 3 281 536 701 351 702 213 287 353 : 2 = 1 640 768 350 675 851 106 643 676 + 1;
  • 1 640 768 350 675 851 106 643 676 : 2 = 820 384 175 337 925 553 321 838 + 0;
  • 820 384 175 337 925 553 321 838 : 2 = 410 192 087 668 962 776 660 919 + 0;
  • 410 192 087 668 962 776 660 919 : 2 = 205 096 043 834 481 388 330 459 + 1;
  • 205 096 043 834 481 388 330 459 : 2 = 102 548 021 917 240 694 165 229 + 1;
  • 102 548 021 917 240 694 165 229 : 2 = 51 274 010 958 620 347 082 614 + 1;
  • 51 274 010 958 620 347 082 614 : 2 = 25 637 005 479 310 173 541 307 + 0;
  • 25 637 005 479 310 173 541 307 : 2 = 12 818 502 739 655 086 770 653 + 1;
  • 12 818 502 739 655 086 770 653 : 2 = 6 409 251 369 827 543 385 326 + 1;
  • 6 409 251 369 827 543 385 326 : 2 = 3 204 625 684 913 771 692 663 + 0;
  • 3 204 625 684 913 771 692 663 : 2 = 1 602 312 842 456 885 846 331 + 1;
  • 1 602 312 842 456 885 846 331 : 2 = 801 156 421 228 442 923 165 + 1;
  • 801 156 421 228 442 923 165 : 2 = 400 578 210 614 221 461 582 + 1;
  • 400 578 210 614 221 461 582 : 2 = 200 289 105 307 110 730 791 + 0;
  • 200 289 105 307 110 730 791 : 2 = 100 144 552 653 555 365 395 + 1;
  • 100 144 552 653 555 365 395 : 2 = 50 072 276 326 777 682 697 + 1;
  • 50 072 276 326 777 682 697 : 2 = 25 036 138 163 388 841 348 + 1;
  • 25 036 138 163 388 841 348 : 2 = 12 518 069 081 694 420 674 + 0;
  • 12 518 069 081 694 420 674 : 2 = 6 259 034 540 847 210 337 + 0;
  • 6 259 034 540 847 210 337 : 2 = 3 129 517 270 423 605 168 + 1;
  • 3 129 517 270 423 605 168 : 2 = 1 564 758 635 211 802 584 + 0;
  • 1 564 758 635 211 802 584 : 2 = 782 379 317 605 901 292 + 0;
  • 782 379 317 605 901 292 : 2 = 391 189 658 802 950 646 + 0;
  • 391 189 658 802 950 646 : 2 = 195 594 829 401 475 323 + 0;
  • 195 594 829 401 475 323 : 2 = 97 797 414 700 737 661 + 1;
  • 97 797 414 700 737 661 : 2 = 48 898 707 350 368 830 + 1;
  • 48 898 707 350 368 830 : 2 = 24 449 353 675 184 415 + 0;
  • 24 449 353 675 184 415 : 2 = 12 224 676 837 592 207 + 1;
  • 12 224 676 837 592 207 : 2 = 6 112 338 418 796 103 + 1;
  • 6 112 338 418 796 103 : 2 = 3 056 169 209 398 051 + 1;
  • 3 056 169 209 398 051 : 2 = 1 528 084 604 699 025 + 1;
  • 1 528 084 604 699 025 : 2 = 764 042 302 349 512 + 1;
  • 764 042 302 349 512 : 2 = 382 021 151 174 756 + 0;
  • 382 021 151 174 756 : 2 = 191 010 575 587 378 + 0;
  • 191 010 575 587 378 : 2 = 95 505 287 793 689 + 0;
  • 95 505 287 793 689 : 2 = 47 752 643 896 844 + 1;
  • 47 752 643 896 844 : 2 = 23 876 321 948 422 + 0;
  • 23 876 321 948 422 : 2 = 11 938 160 974 211 + 0;
  • 11 938 160 974 211 : 2 = 5 969 080 487 105 + 1;
  • 5 969 080 487 105 : 2 = 2 984 540 243 552 + 1;
  • 2 984 540 243 552 : 2 = 1 492 270 121 776 + 0;
  • 1 492 270 121 776 : 2 = 746 135 060 888 + 0;
  • 746 135 060 888 : 2 = 373 067 530 444 + 0;
  • 373 067 530 444 : 2 = 186 533 765 222 + 0;
  • 186 533 765 222 : 2 = 93 266 882 611 + 0;
  • 93 266 882 611 : 2 = 46 633 441 305 + 1;
  • 46 633 441 305 : 2 = 23 316 720 652 + 1;
  • 23 316 720 652 : 2 = 11 658 360 326 + 0;
  • 11 658 360 326 : 2 = 5 829 180 163 + 0;
  • 5 829 180 163 : 2 = 2 914 590 081 + 1;
  • 2 914 590 081 : 2 = 1 457 295 040 + 1;
  • 1 457 295 040 : 2 = 728 647 520 + 0;
  • 728 647 520 : 2 = 364 323 760 + 0;
  • 364 323 760 : 2 = 182 161 880 + 0;
  • 182 161 880 : 2 = 91 080 940 + 0;
  • 91 080 940 : 2 = 45 540 470 + 0;
  • 45 540 470 : 2 = 22 770 235 + 0;
  • 22 770 235 : 2 = 11 385 117 + 1;
  • 11 385 117 : 2 = 5 692 558 + 1;
  • 5 692 558 : 2 = 2 846 279 + 0;
  • 2 846 279 : 2 = 1 423 139 + 1;
  • 1 423 139 : 2 = 711 569 + 1;
  • 711 569 : 2 = 355 784 + 1;
  • 355 784 : 2 = 177 892 + 0;
  • 177 892 : 2 = 88 946 + 0;
  • 88 946 : 2 = 44 473 + 0;
  • 44 473 : 2 = 22 236 + 1;
  • 22 236 : 2 = 11 118 + 0;
  • 11 118 : 2 = 5 559 + 0;
  • 5 559 : 2 = 2 779 + 1;
  • 2 779 : 2 = 1 389 + 1;
  • 1 389 : 2 = 694 + 1;
  • 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 110 100 101 009 999 999 999 999 999 659(10) =


101 0110 1101 1100 1000 1110 1100 0000 1100 1100 0001 1001 0001 1111 0110 0001 0011 1011 1011 0111 0011 0000 0111 1111 1110 1010 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:


110 110 100 101 009 999 999 999 999 999 659(10) =


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


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


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


010 1101 1011 1001 0001 1101


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 1011 1001 0001 1101


Numărul zecimal 110 110 100 101 009 999 999 999 999 999 659 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 1001 - 010 1101 1011 1001 0001 1101


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