11 000 010 000 101 100 099 999 999 999 768 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 11 000 010 000 101 100 099 999 999 999 768(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 000 101 100 099 999 999 999 768(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 000 101 100 099 999 999 999 768 : 2 = 5 500 005 000 050 550 049 999 999 999 884 + 0;
  • 5 500 005 000 050 550 049 999 999 999 884 : 2 = 2 750 002 500 025 275 024 999 999 999 942 + 0;
  • 2 750 002 500 025 275 024 999 999 999 942 : 2 = 1 375 001 250 012 637 512 499 999 999 971 + 0;
  • 1 375 001 250 012 637 512 499 999 999 971 : 2 = 687 500 625 006 318 756 249 999 999 985 + 1;
  • 687 500 625 006 318 756 249 999 999 985 : 2 = 343 750 312 503 159 378 124 999 999 992 + 1;
  • 343 750 312 503 159 378 124 999 999 992 : 2 = 171 875 156 251 579 689 062 499 999 996 + 0;
  • 171 875 156 251 579 689 062 499 999 996 : 2 = 85 937 578 125 789 844 531 249 999 998 + 0;
  • 85 937 578 125 789 844 531 249 999 998 : 2 = 42 968 789 062 894 922 265 624 999 999 + 0;
  • 42 968 789 062 894 922 265 624 999 999 : 2 = 21 484 394 531 447 461 132 812 499 999 + 1;
  • 21 484 394 531 447 461 132 812 499 999 : 2 = 10 742 197 265 723 730 566 406 249 999 + 1;
  • 10 742 197 265 723 730 566 406 249 999 : 2 = 5 371 098 632 861 865 283 203 124 999 + 1;
  • 5 371 098 632 861 865 283 203 124 999 : 2 = 2 685 549 316 430 932 641 601 562 499 + 1;
  • 2 685 549 316 430 932 641 601 562 499 : 2 = 1 342 774 658 215 466 320 800 781 249 + 1;
  • 1 342 774 658 215 466 320 800 781 249 : 2 = 671 387 329 107 733 160 400 390 624 + 1;
  • 671 387 329 107 733 160 400 390 624 : 2 = 335 693 664 553 866 580 200 195 312 + 0;
  • 335 693 664 553 866 580 200 195 312 : 2 = 167 846 832 276 933 290 100 097 656 + 0;
  • 167 846 832 276 933 290 100 097 656 : 2 = 83 923 416 138 466 645 050 048 828 + 0;
  • 83 923 416 138 466 645 050 048 828 : 2 = 41 961 708 069 233 322 525 024 414 + 0;
  • 41 961 708 069 233 322 525 024 414 : 2 = 20 980 854 034 616 661 262 512 207 + 0;
  • 20 980 854 034 616 661 262 512 207 : 2 = 10 490 427 017 308 330 631 256 103 + 1;
  • 10 490 427 017 308 330 631 256 103 : 2 = 5 245 213 508 654 165 315 628 051 + 1;
  • 5 245 213 508 654 165 315 628 051 : 2 = 2 622 606 754 327 082 657 814 025 + 1;
  • 2 622 606 754 327 082 657 814 025 : 2 = 1 311 303 377 163 541 328 907 012 + 1;
  • 1 311 303 377 163 541 328 907 012 : 2 = 655 651 688 581 770 664 453 506 + 0;
  • 655 651 688 581 770 664 453 506 : 2 = 327 825 844 290 885 332 226 753 + 0;
  • 327 825 844 290 885 332 226 753 : 2 = 163 912 922 145 442 666 113 376 + 1;
  • 163 912 922 145 442 666 113 376 : 2 = 81 956 461 072 721 333 056 688 + 0;
  • 81 956 461 072 721 333 056 688 : 2 = 40 978 230 536 360 666 528 344 + 0;
  • 40 978 230 536 360 666 528 344 : 2 = 20 489 115 268 180 333 264 172 + 0;
  • 20 489 115 268 180 333 264 172 : 2 = 10 244 557 634 090 166 632 086 + 0;
  • 10 244 557 634 090 166 632 086 : 2 = 5 122 278 817 045 083 316 043 + 0;
  • 5 122 278 817 045 083 316 043 : 2 = 2 561 139 408 522 541 658 021 + 1;
  • 2 561 139 408 522 541 658 021 : 2 = 1 280 569 704 261 270 829 010 + 1;
  • 1 280 569 704 261 270 829 010 : 2 = 640 284 852 130 635 414 505 + 0;
  • 640 284 852 130 635 414 505 : 2 = 320 142 426 065 317 707 252 + 1;
  • 320 142 426 065 317 707 252 : 2 = 160 071 213 032 658 853 626 + 0;
  • 160 071 213 032 658 853 626 : 2 = 80 035 606 516 329 426 813 + 0;
  • 80 035 606 516 329 426 813 : 2 = 40 017 803 258 164 713 406 + 1;
  • 40 017 803 258 164 713 406 : 2 = 20 008 901 629 082 356 703 + 0;
  • 20 008 901 629 082 356 703 : 2 = 10 004 450 814 541 178 351 + 1;
  • 10 004 450 814 541 178 351 : 2 = 5 002 225 407 270 589 175 + 1;
  • 5 002 225 407 270 589 175 : 2 = 2 501 112 703 635 294 587 + 1;
  • 2 501 112 703 635 294 587 : 2 = 1 250 556 351 817 647 293 + 1;
  • 1 250 556 351 817 647 293 : 2 = 625 278 175 908 823 646 + 1;
  • 625 278 175 908 823 646 : 2 = 312 639 087 954 411 823 + 0;
  • 312 639 087 954 411 823 : 2 = 156 319 543 977 205 911 + 1;
  • 156 319 543 977 205 911 : 2 = 78 159 771 988 602 955 + 1;
  • 78 159 771 988 602 955 : 2 = 39 079 885 994 301 477 + 1;
  • 39 079 885 994 301 477 : 2 = 19 539 942 997 150 738 + 1;
  • 19 539 942 997 150 738 : 2 = 9 769 971 498 575 369 + 0;
  • 9 769 971 498 575 369 : 2 = 4 884 985 749 287 684 + 1;
  • 4 884 985 749 287 684 : 2 = 2 442 492 874 643 842 + 0;
  • 2 442 492 874 643 842 : 2 = 1 221 246 437 321 921 + 0;
  • 1 221 246 437 321 921 : 2 = 610 623 218 660 960 + 1;
  • 610 623 218 660 960 : 2 = 305 311 609 330 480 + 0;
  • 305 311 609 330 480 : 2 = 152 655 804 665 240 + 0;
  • 152 655 804 665 240 : 2 = 76 327 902 332 620 + 0;
  • 76 327 902 332 620 : 2 = 38 163 951 166 310 + 0;
  • 38 163 951 166 310 : 2 = 19 081 975 583 155 + 0;
  • 19 081 975 583 155 : 2 = 9 540 987 791 577 + 1;
  • 9 540 987 791 577 : 2 = 4 770 493 895 788 + 1;
  • 4 770 493 895 788 : 2 = 2 385 246 947 894 + 0;
  • 2 385 246 947 894 : 2 = 1 192 623 473 947 + 0;
  • 1 192 623 473 947 : 2 = 596 311 736 973 + 1;
  • 596 311 736 973 : 2 = 298 155 868 486 + 1;
  • 298 155 868 486 : 2 = 149 077 934 243 + 0;
  • 149 077 934 243 : 2 = 74 538 967 121 + 1;
  • 74 538 967 121 : 2 = 37 269 483 560 + 1;
  • 37 269 483 560 : 2 = 18 634 741 780 + 0;
  • 18 634 741 780 : 2 = 9 317 370 890 + 0;
  • 9 317 370 890 : 2 = 4 658 685 445 + 0;
  • 4 658 685 445 : 2 = 2 329 342 722 + 1;
  • 2 329 342 722 : 2 = 1 164 671 361 + 0;
  • 1 164 671 361 : 2 = 582 335 680 + 1;
  • 582 335 680 : 2 = 291 167 840 + 0;
  • 291 167 840 : 2 = 145 583 920 + 0;
  • 145 583 920 : 2 = 72 791 960 + 0;
  • 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 000 101 100 099 999 999 999 768(10) =


1000 1010 1101 0110 1111 0011 0000 0010 1000 1101 1001 1000 0010 0101 1110 1111 1010 0101 1000 0010 0111 1000 0011 1111 0001 1000(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 000 101 100 099 999 999 999 768(10) =


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


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


1,0001 0101 1010 1101 1110 0110 0000 0101 0001 1011 0011 0000 0100 1011 1101 1111 0100 1011 0000 0100 1111 0000 0111 1110 0011 000(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 0000 0101 0001 1011 0011 0000 0100 1011 1101 1111 0100 1011 0000 0100 1111 0000 0111 1110 0011 000


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


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 000 101 100 099 999 999 999 768 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