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

Scriere 11 000 010 100 011 000 111 111 111 100 958(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
11 000 010 100 011 000 111 111 111 100 958(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;
  • 11 000 010 100 011 000 111 111 111 100 958 : 2 = 5 500 005 050 005 500 055 555 555 550 479 + 0;
  • 5 500 005 050 005 500 055 555 555 550 479 : 2 = 2 750 002 525 002 750 027 777 777 775 239 + 1;
  • 2 750 002 525 002 750 027 777 777 775 239 : 2 = 1 375 001 262 501 375 013 888 888 887 619 + 1;
  • 1 375 001 262 501 375 013 888 888 887 619 : 2 = 687 500 631 250 687 506 944 444 443 809 + 1;
  • 687 500 631 250 687 506 944 444 443 809 : 2 = 343 750 315 625 343 753 472 222 221 904 + 1;
  • 343 750 315 625 343 753 472 222 221 904 : 2 = 171 875 157 812 671 876 736 111 110 952 + 0;
  • 171 875 157 812 671 876 736 111 110 952 : 2 = 85 937 578 906 335 938 368 055 555 476 + 0;
  • 85 937 578 906 335 938 368 055 555 476 : 2 = 42 968 789 453 167 969 184 027 777 738 + 0;
  • 42 968 789 453 167 969 184 027 777 738 : 2 = 21 484 394 726 583 984 592 013 888 869 + 0;
  • 21 484 394 726 583 984 592 013 888 869 : 2 = 10 742 197 363 291 992 296 006 944 434 + 1;
  • 10 742 197 363 291 992 296 006 944 434 : 2 = 5 371 098 681 645 996 148 003 472 217 + 0;
  • 5 371 098 681 645 996 148 003 472 217 : 2 = 2 685 549 340 822 998 074 001 736 108 + 1;
  • 2 685 549 340 822 998 074 001 736 108 : 2 = 1 342 774 670 411 499 037 000 868 054 + 0;
  • 1 342 774 670 411 499 037 000 868 054 : 2 = 671 387 335 205 749 518 500 434 027 + 0;
  • 671 387 335 205 749 518 500 434 027 : 2 = 335 693 667 602 874 759 250 217 013 + 1;
  • 335 693 667 602 874 759 250 217 013 : 2 = 167 846 833 801 437 379 625 108 506 + 1;
  • 167 846 833 801 437 379 625 108 506 : 2 = 83 923 416 900 718 689 812 554 253 + 0;
  • 83 923 416 900 718 689 812 554 253 : 2 = 41 961 708 450 359 344 906 277 126 + 1;
  • 41 961 708 450 359 344 906 277 126 : 2 = 20 980 854 225 179 672 453 138 563 + 0;
  • 20 980 854 225 179 672 453 138 563 : 2 = 10 490 427 112 589 836 226 569 281 + 1;
  • 10 490 427 112 589 836 226 569 281 : 2 = 5 245 213 556 294 918 113 284 640 + 1;
  • 5 245 213 556 294 918 113 284 640 : 2 = 2 622 606 778 147 459 056 642 320 + 0;
  • 2 622 606 778 147 459 056 642 320 : 2 = 1 311 303 389 073 729 528 321 160 + 0;
  • 1 311 303 389 073 729 528 321 160 : 2 = 655 651 694 536 864 764 160 580 + 0;
  • 655 651 694 536 864 764 160 580 : 2 = 327 825 847 268 432 382 080 290 + 0;
  • 327 825 847 268 432 382 080 290 : 2 = 163 912 923 634 216 191 040 145 + 0;
  • 163 912 923 634 216 191 040 145 : 2 = 81 956 461 817 108 095 520 072 + 1;
  • 81 956 461 817 108 095 520 072 : 2 = 40 978 230 908 554 047 760 036 + 0;
  • 40 978 230 908 554 047 760 036 : 2 = 20 489 115 454 277 023 880 018 + 0;
  • 20 489 115 454 277 023 880 018 : 2 = 10 244 557 727 138 511 940 009 + 0;
  • 10 244 557 727 138 511 940 009 : 2 = 5 122 278 863 569 255 970 004 + 1;
  • 5 122 278 863 569 255 970 004 : 2 = 2 561 139 431 784 627 985 002 + 0;
  • 2 561 139 431 784 627 985 002 : 2 = 1 280 569 715 892 313 992 501 + 0;
  • 1 280 569 715 892 313 992 501 : 2 = 640 284 857 946 156 996 250 + 1;
  • 640 284 857 946 156 996 250 : 2 = 320 142 428 973 078 498 125 + 0;
  • 320 142 428 973 078 498 125 : 2 = 160 071 214 486 539 249 062 + 1;
  • 160 071 214 486 539 249 062 : 2 = 80 035 607 243 269 624 531 + 0;
  • 80 035 607 243 269 624 531 : 2 = 40 017 803 621 634 812 265 + 1;
  • 40 017 803 621 634 812 265 : 2 = 20 008 901 810 817 406 132 + 1;
  • 20 008 901 810 817 406 132 : 2 = 10 004 450 905 408 703 066 + 0;
  • 10 004 450 905 408 703 066 : 2 = 5 002 225 452 704 351 533 + 0;
  • 5 002 225 452 704 351 533 : 2 = 2 501 112 726 352 175 766 + 1;
  • 2 501 112 726 352 175 766 : 2 = 1 250 556 363 176 087 883 + 0;
  • 1 250 556 363 176 087 883 : 2 = 625 278 181 588 043 941 + 1;
  • 625 278 181 588 043 941 : 2 = 312 639 090 794 021 970 + 1;
  • 312 639 090 794 021 970 : 2 = 156 319 545 397 010 985 + 0;
  • 156 319 545 397 010 985 : 2 = 78 159 772 698 505 492 + 1;
  • 78 159 772 698 505 492 : 2 = 39 079 886 349 252 746 + 0;
  • 39 079 886 349 252 746 : 2 = 19 539 943 174 626 373 + 0;
  • 19 539 943 174 626 373 : 2 = 9 769 971 587 313 186 + 1;
  • 9 769 971 587 313 186 : 2 = 4 884 985 793 656 593 + 0;
  • 4 884 985 793 656 593 : 2 = 2 442 492 896 828 296 + 1;
  • 2 442 492 896 828 296 : 2 = 1 221 246 448 414 148 + 0;
  • 1 221 246 448 414 148 : 2 = 610 623 224 207 074 + 0;
  • 610 623 224 207 074 : 2 = 305 311 612 103 537 + 0;
  • 305 311 612 103 537 : 2 = 152 655 806 051 768 + 1;
  • 152 655 806 051 768 : 2 = 76 327 903 025 884 + 0;
  • 76 327 903 025 884 : 2 = 38 163 951 512 942 + 0;
  • 38 163 951 512 942 : 2 = 19 081 975 756 471 + 0;
  • 19 081 975 756 471 : 2 = 9 540 987 878 235 + 1;
  • 9 540 987 878 235 : 2 = 4 770 493 939 117 + 1;
  • 4 770 493 939 117 : 2 = 2 385 246 969 558 + 1;
  • 2 385 246 969 558 : 2 = 1 192 623 484 779 + 0;
  • 1 192 623 484 779 : 2 = 596 311 742 389 + 1;
  • 596 311 742 389 : 2 = 298 155 871 194 + 1;
  • 298 155 871 194 : 2 = 149 077 935 597 + 0;
  • 149 077 935 597 : 2 = 74 538 967 798 + 1;
  • 74 538 967 798 : 2 = 37 269 483 899 + 0;
  • 37 269 483 899 : 2 = 18 634 741 949 + 1;
  • 18 634 741 949 : 2 = 9 317 370 974 + 1;
  • 9 317 370 974 : 2 = 4 658 685 487 + 0;
  • 4 658 685 487 : 2 = 2 329 342 743 + 1;
  • 2 329 342 743 : 2 = 1 164 671 371 + 1;
  • 1 164 671 371 : 2 = 582 335 685 + 1;
  • 582 335 685 : 2 = 291 167 842 + 1;
  • 291 167 842 : 2 = 145 583 921 + 0;
  • 145 583 921 : 2 = 72 791 960 + 1;
  • 72 791 960 : 2 = 36 395 980 + 0;
  • 36 395 980 : 2 = 18 197 990 + 0;
  • 18 197 990 : 2 = 9 098 995 + 0;
  • 9 098 995 : 2 = 4 549 497 + 1;
  • 4 549 497 : 2 = 2 274 748 + 1;
  • 2 274 748 : 2 = 1 137 374 + 0;
  • 1 137 374 : 2 = 568 687 + 0;
  • 568 687 : 2 = 284 343 + 1;
  • 284 343 : 2 = 142 171 + 1;
  • 142 171 : 2 = 71 085 + 1;
  • 71 085 : 2 = 35 542 + 1;
  • 35 542 : 2 = 17 771 + 0;
  • 17 771 : 2 = 8 885 + 1;
  • 8 885 : 2 = 4 442 + 1;
  • 4 442 : 2 = 2 221 + 0;
  • 2 221 : 2 = 1 110 + 1;
  • 1 110 : 2 = 555 + 0;
  • 555 : 2 = 277 + 1;
  • 277 : 2 = 138 + 1;
  • 138 : 2 = 69 + 0;
  • 69 : 2 = 34 + 1;
  • 34 : 2 = 17 + 0;
  • 17 : 2 = 8 + 1;
  • 8 : 2 = 4 + 0;
  • 4 : 2 = 2 + 0;
  • 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.

11 000 010 100 011 000 111 111 111 100 958(10) =


1000 1010 1101 0110 1111 0011 0001 0111 1011 0101 1011 1000 1000 1010 0101 1010 0110 1010 0100 0100 0001 1010 1100 1010 0001 1110(2)


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

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


11 000 010 100 011 000 111 111 111 100 958(10) =


1000 1010 1101 0110 1111 0011 0001 0111 1011 0101 1011 1000 1000 1010 0101 1010 0110 1010 0100 0100 0001 1010 1100 1010 0001 1110(2) =


1000 1010 1101 0110 1111 0011 0001 0111 1011 0101 1011 1000 1000 1010 0101 1010 0110 1010 0100 0100 0001 1010 1100 1010 0001 1110(2) × 20 =


1,0001 0101 1010 1101 1110 0110 0010 1111 0110 1011 0111 0001 0001 0100 1011 0100 1101 0100 1000 1000 0011 0101 1001 0100 0011 110(2) × 2103


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


Mantisă (nenormalizată):
1,0001 0101 1010 1101 1110 0110 0010 1111 0110 1011 0111 0001 0001 0100 1011 0100 1101 0100 1000 1000 0011 0101 1001 0100 0011 110


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


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


230(10) =


1110 0110(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. 000 1010 1101 0110 1111 0011 0001 0111 1011 0101 1011 1000 1000 1010 0101 1010 0110 1010 0100 0100 0001 1010 1100 1010 0001 1110 =


000 1010 1101 0110 1111 0011


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 0110


Mantisă (23 biți) =
000 1010 1101 0110 1111 0011


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

0 - 1110 0110 - 000 1010 1101 0110 1111 0011


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