11 000 000 001 000 000 000 100 001 099 998 673 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 000 000 001 000 000 000 100 001 099 998 673(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 000 001 000 000 000 100 001 099 998 673(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 000 001 000 000 000 100 001 099 998 673 : 2 = 5 500 000 000 500 000 000 050 000 549 999 336 + 1;
  • 5 500 000 000 500 000 000 050 000 549 999 336 : 2 = 2 750 000 000 250 000 000 025 000 274 999 668 + 0;
  • 2 750 000 000 250 000 000 025 000 274 999 668 : 2 = 1 375 000 000 125 000 000 012 500 137 499 834 + 0;
  • 1 375 000 000 125 000 000 012 500 137 499 834 : 2 = 687 500 000 062 500 000 006 250 068 749 917 + 0;
  • 687 500 000 062 500 000 006 250 068 749 917 : 2 = 343 750 000 031 250 000 003 125 034 374 958 + 1;
  • 343 750 000 031 250 000 003 125 034 374 958 : 2 = 171 875 000 015 625 000 001 562 517 187 479 + 0;
  • 171 875 000 015 625 000 001 562 517 187 479 : 2 = 85 937 500 007 812 500 000 781 258 593 739 + 1;
  • 85 937 500 007 812 500 000 781 258 593 739 : 2 = 42 968 750 003 906 250 000 390 629 296 869 + 1;
  • 42 968 750 003 906 250 000 390 629 296 869 : 2 = 21 484 375 001 953 125 000 195 314 648 434 + 1;
  • 21 484 375 001 953 125 000 195 314 648 434 : 2 = 10 742 187 500 976 562 500 097 657 324 217 + 0;
  • 10 742 187 500 976 562 500 097 657 324 217 : 2 = 5 371 093 750 488 281 250 048 828 662 108 + 1;
  • 5 371 093 750 488 281 250 048 828 662 108 : 2 = 2 685 546 875 244 140 625 024 414 331 054 + 0;
  • 2 685 546 875 244 140 625 024 414 331 054 : 2 = 1 342 773 437 622 070 312 512 207 165 527 + 0;
  • 1 342 773 437 622 070 312 512 207 165 527 : 2 = 671 386 718 811 035 156 256 103 582 763 + 1;
  • 671 386 718 811 035 156 256 103 582 763 : 2 = 335 693 359 405 517 578 128 051 791 381 + 1;
  • 335 693 359 405 517 578 128 051 791 381 : 2 = 167 846 679 702 758 789 064 025 895 690 + 1;
  • 167 846 679 702 758 789 064 025 895 690 : 2 = 83 923 339 851 379 394 532 012 947 845 + 0;
  • 83 923 339 851 379 394 532 012 947 845 : 2 = 41 961 669 925 689 697 266 006 473 922 + 1;
  • 41 961 669 925 689 697 266 006 473 922 : 2 = 20 980 834 962 844 848 633 003 236 961 + 0;
  • 20 980 834 962 844 848 633 003 236 961 : 2 = 10 490 417 481 422 424 316 501 618 480 + 1;
  • 10 490 417 481 422 424 316 501 618 480 : 2 = 5 245 208 740 711 212 158 250 809 240 + 0;
  • 5 245 208 740 711 212 158 250 809 240 : 2 = 2 622 604 370 355 606 079 125 404 620 + 0;
  • 2 622 604 370 355 606 079 125 404 620 : 2 = 1 311 302 185 177 803 039 562 702 310 + 0;
  • 1 311 302 185 177 803 039 562 702 310 : 2 = 655 651 092 588 901 519 781 351 155 + 0;
  • 655 651 092 588 901 519 781 351 155 : 2 = 327 825 546 294 450 759 890 675 577 + 1;
  • 327 825 546 294 450 759 890 675 577 : 2 = 163 912 773 147 225 379 945 337 788 + 1;
  • 163 912 773 147 225 379 945 337 788 : 2 = 81 956 386 573 612 689 972 668 894 + 0;
  • 81 956 386 573 612 689 972 668 894 : 2 = 40 978 193 286 806 344 986 334 447 + 0;
  • 40 978 193 286 806 344 986 334 447 : 2 = 20 489 096 643 403 172 493 167 223 + 1;
  • 20 489 096 643 403 172 493 167 223 : 2 = 10 244 548 321 701 586 246 583 611 + 1;
  • 10 244 548 321 701 586 246 583 611 : 2 = 5 122 274 160 850 793 123 291 805 + 1;
  • 5 122 274 160 850 793 123 291 805 : 2 = 2 561 137 080 425 396 561 645 902 + 1;
  • 2 561 137 080 425 396 561 645 902 : 2 = 1 280 568 540 212 698 280 822 951 + 0;
  • 1 280 568 540 212 698 280 822 951 : 2 = 640 284 270 106 349 140 411 475 + 1;
  • 640 284 270 106 349 140 411 475 : 2 = 320 142 135 053 174 570 205 737 + 1;
  • 320 142 135 053 174 570 205 737 : 2 = 160 071 067 526 587 285 102 868 + 1;
  • 160 071 067 526 587 285 102 868 : 2 = 80 035 533 763 293 642 551 434 + 0;
  • 80 035 533 763 293 642 551 434 : 2 = 40 017 766 881 646 821 275 717 + 0;
  • 40 017 766 881 646 821 275 717 : 2 = 20 008 883 440 823 410 637 858 + 1;
  • 20 008 883 440 823 410 637 858 : 2 = 10 004 441 720 411 705 318 929 + 0;
  • 10 004 441 720 411 705 318 929 : 2 = 5 002 220 860 205 852 659 464 + 1;
  • 5 002 220 860 205 852 659 464 : 2 = 2 501 110 430 102 926 329 732 + 0;
  • 2 501 110 430 102 926 329 732 : 2 = 1 250 555 215 051 463 164 866 + 0;
  • 1 250 555 215 051 463 164 866 : 2 = 625 277 607 525 731 582 433 + 0;
  • 625 277 607 525 731 582 433 : 2 = 312 638 803 762 865 791 216 + 1;
  • 312 638 803 762 865 791 216 : 2 = 156 319 401 881 432 895 608 + 0;
  • 156 319 401 881 432 895 608 : 2 = 78 159 700 940 716 447 804 + 0;
  • 78 159 700 940 716 447 804 : 2 = 39 079 850 470 358 223 902 + 0;
  • 39 079 850 470 358 223 902 : 2 = 19 539 925 235 179 111 951 + 0;
  • 19 539 925 235 179 111 951 : 2 = 9 769 962 617 589 555 975 + 1;
  • 9 769 962 617 589 555 975 : 2 = 4 884 981 308 794 777 987 + 1;
  • 4 884 981 308 794 777 987 : 2 = 2 442 490 654 397 388 993 + 1;
  • 2 442 490 654 397 388 993 : 2 = 1 221 245 327 198 694 496 + 1;
  • 1 221 245 327 198 694 496 : 2 = 610 622 663 599 347 248 + 0;
  • 610 622 663 599 347 248 : 2 = 305 311 331 799 673 624 + 0;
  • 305 311 331 799 673 624 : 2 = 152 655 665 899 836 812 + 0;
  • 152 655 665 899 836 812 : 2 = 76 327 832 949 918 406 + 0;
  • 76 327 832 949 918 406 : 2 = 38 163 916 474 959 203 + 0;
  • 38 163 916 474 959 203 : 2 = 19 081 958 237 479 601 + 1;
  • 19 081 958 237 479 601 : 2 = 9 540 979 118 739 800 + 1;
  • 9 540 979 118 739 800 : 2 = 4 770 489 559 369 900 + 0;
  • 4 770 489 559 369 900 : 2 = 2 385 244 779 684 950 + 0;
  • 2 385 244 779 684 950 : 2 = 1 192 622 389 842 475 + 0;
  • 1 192 622 389 842 475 : 2 = 596 311 194 921 237 + 1;
  • 596 311 194 921 237 : 2 = 298 155 597 460 618 + 1;
  • 298 155 597 460 618 : 2 = 149 077 798 730 309 + 0;
  • 149 077 798 730 309 : 2 = 74 538 899 365 154 + 1;
  • 74 538 899 365 154 : 2 = 37 269 449 682 577 + 0;
  • 37 269 449 682 577 : 2 = 18 634 724 841 288 + 1;
  • 18 634 724 841 288 : 2 = 9 317 362 420 644 + 0;
  • 9 317 362 420 644 : 2 = 4 658 681 210 322 + 0;
  • 4 658 681 210 322 : 2 = 2 329 340 605 161 + 0;
  • 2 329 340 605 161 : 2 = 1 164 670 302 580 + 1;
  • 1 164 670 302 580 : 2 = 582 335 151 290 + 0;
  • 582 335 151 290 : 2 = 291 167 575 645 + 0;
  • 291 167 575 645 : 2 = 145 583 787 822 + 1;
  • 145 583 787 822 : 2 = 72 791 893 911 + 0;
  • 72 791 893 911 : 2 = 36 395 946 955 + 1;
  • 36 395 946 955 : 2 = 18 197 973 477 + 1;
  • 18 197 973 477 : 2 = 9 098 986 738 + 1;
  • 9 098 986 738 : 2 = 4 549 493 369 + 0;
  • 4 549 493 369 : 2 = 2 274 746 684 + 1;
  • 2 274 746 684 : 2 = 1 137 373 342 + 0;
  • 1 137 373 342 : 2 = 568 686 671 + 0;
  • 568 686 671 : 2 = 284 343 335 + 1;
  • 284 343 335 : 2 = 142 171 667 + 1;
  • 142 171 667 : 2 = 71 085 833 + 1;
  • 71 085 833 : 2 = 35 542 916 + 1;
  • 35 542 916 : 2 = 17 771 458 + 0;
  • 17 771 458 : 2 = 8 885 729 + 0;
  • 8 885 729 : 2 = 4 442 864 + 1;
  • 4 442 864 : 2 = 2 221 432 + 0;
  • 2 221 432 : 2 = 1 110 716 + 0;
  • 1 110 716 : 2 = 555 358 + 0;
  • 555 358 : 2 = 277 679 + 0;
  • 277 679 : 2 = 138 839 + 1;
  • 138 839 : 2 = 69 419 + 1;
  • 69 419 : 2 = 34 709 + 1;
  • 34 709 : 2 = 17 354 + 1;
  • 17 354 : 2 = 8 677 + 0;
  • 8 677 : 2 = 4 338 + 1;
  • 4 338 : 2 = 2 169 + 0;
  • 2 169 : 2 = 1 084 + 1;
  • 1 084 : 2 = 542 + 0;
  • 542 : 2 = 271 + 0;
  • 271 : 2 = 135 + 1;
  • 135 : 2 = 67 + 1;
  • 67 : 2 = 33 + 1;
  • 33 : 2 = 16 + 1;
  • 16 : 2 = 8 + 0;
  • 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 000 001 000 000 000 100 001 099 998 673(10) =


10 0001 1110 0101 0111 1000 0100 1111 0010 1110 1001 0001 0101 1000 1100 0001 1110 0001 0001 0100 1110 1111 0011 0000 1010 1110 0101 1101 0001(2)


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

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


11 000 000 001 000 000 000 100 001 099 998 673(10) =


10 0001 1110 0101 0111 1000 0100 1111 0010 1110 1001 0001 0101 1000 1100 0001 1110 0001 0001 0100 1110 1111 0011 0000 1010 1110 0101 1101 0001(2) =


10 0001 1110 0101 0111 1000 0100 1111 0010 1110 1001 0001 0101 1000 1100 0001 1110 0001 0001 0100 1110 1111 0011 0000 1010 1110 0101 1101 0001(2) × 20 =


1,0000 1111 0010 1011 1100 0010 0111 1001 0111 0100 1000 1010 1100 0110 0000 1111 0000 1000 1010 0111 0111 1001 1000 0101 0111 0010 1110 1000 1(2) × 2113


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


Mantisă (nenormalizată):
1,0000 1111 0010 1011 1100 0010 0111 1001 0111 0100 1000 1010 1100 0110 0000 1111 0000 1000 1010 0111 0111 1001 1000 0101 0111 0010 1110 1000 1


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


113 + 2(8-1) - 1 =


(113 + 127)(10) =


240(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;
  • 240 : 2 = 120 + 0;
  • 120 : 2 = 60 + 0;
  • 60 : 2 = 30 + 0;
  • 30 : 2 = 15 + 0;
  • 15 : 2 = 7 + 1;
  • 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) =


240(10) =


1111 0000(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 0111 1001 0101 1110 0001 00 1111 0010 1110 1001 0001 0101 1000 1100 0001 1110 0001 0001 0100 1110 1111 0011 0000 1010 1110 0101 1101 0001 =


000 0111 1001 0101 1110 0001


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) =
1111 0000


Mantisă (23 biți) =
000 0111 1001 0101 1110 0001


Numărul zecimal 11 000 000 001 000 000 000 100 001 099 998 673 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1111 0000 - 000 0111 1001 0101 1110 0001

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