10 111 111 000 000 000 000 000 000 000 000 527 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 111 111 000 000 000 000 000 000 000 000 527(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
10 111 111 000 000 000 000 000 000 000 000 527(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;
  • 10 111 111 000 000 000 000 000 000 000 000 527 : 2 = 5 055 555 500 000 000 000 000 000 000 000 263 + 1;
  • 5 055 555 500 000 000 000 000 000 000 000 263 : 2 = 2 527 777 750 000 000 000 000 000 000 000 131 + 1;
  • 2 527 777 750 000 000 000 000 000 000 000 131 : 2 = 1 263 888 875 000 000 000 000 000 000 000 065 + 1;
  • 1 263 888 875 000 000 000 000 000 000 000 065 : 2 = 631 944 437 500 000 000 000 000 000 000 032 + 1;
  • 631 944 437 500 000 000 000 000 000 000 032 : 2 = 315 972 218 750 000 000 000 000 000 000 016 + 0;
  • 315 972 218 750 000 000 000 000 000 000 016 : 2 = 157 986 109 375 000 000 000 000 000 000 008 + 0;
  • 157 986 109 375 000 000 000 000 000 000 008 : 2 = 78 993 054 687 500 000 000 000 000 000 004 + 0;
  • 78 993 054 687 500 000 000 000 000 000 004 : 2 = 39 496 527 343 750 000 000 000 000 000 002 + 0;
  • 39 496 527 343 750 000 000 000 000 000 002 : 2 = 19 748 263 671 875 000 000 000 000 000 001 + 0;
  • 19 748 263 671 875 000 000 000 000 000 001 : 2 = 9 874 131 835 937 500 000 000 000 000 000 + 1;
  • 9 874 131 835 937 500 000 000 000 000 000 : 2 = 4 937 065 917 968 750 000 000 000 000 000 + 0;
  • 4 937 065 917 968 750 000 000 000 000 000 : 2 = 2 468 532 958 984 375 000 000 000 000 000 + 0;
  • 2 468 532 958 984 375 000 000 000 000 000 : 2 = 1 234 266 479 492 187 500 000 000 000 000 + 0;
  • 1 234 266 479 492 187 500 000 000 000 000 : 2 = 617 133 239 746 093 750 000 000 000 000 + 0;
  • 617 133 239 746 093 750 000 000 000 000 : 2 = 308 566 619 873 046 875 000 000 000 000 + 0;
  • 308 566 619 873 046 875 000 000 000 000 : 2 = 154 283 309 936 523 437 500 000 000 000 + 0;
  • 154 283 309 936 523 437 500 000 000 000 : 2 = 77 141 654 968 261 718 750 000 000 000 + 0;
  • 77 141 654 968 261 718 750 000 000 000 : 2 = 38 570 827 484 130 859 375 000 000 000 + 0;
  • 38 570 827 484 130 859 375 000 000 000 : 2 = 19 285 413 742 065 429 687 500 000 000 + 0;
  • 19 285 413 742 065 429 687 500 000 000 : 2 = 9 642 706 871 032 714 843 750 000 000 + 0;
  • 9 642 706 871 032 714 843 750 000 000 : 2 = 4 821 353 435 516 357 421 875 000 000 + 0;
  • 4 821 353 435 516 357 421 875 000 000 : 2 = 2 410 676 717 758 178 710 937 500 000 + 0;
  • 2 410 676 717 758 178 710 937 500 000 : 2 = 1 205 338 358 879 089 355 468 750 000 + 0;
  • 1 205 338 358 879 089 355 468 750 000 : 2 = 602 669 179 439 544 677 734 375 000 + 0;
  • 602 669 179 439 544 677 734 375 000 : 2 = 301 334 589 719 772 338 867 187 500 + 0;
  • 301 334 589 719 772 338 867 187 500 : 2 = 150 667 294 859 886 169 433 593 750 + 0;
  • 150 667 294 859 886 169 433 593 750 : 2 = 75 333 647 429 943 084 716 796 875 + 0;
  • 75 333 647 429 943 084 716 796 875 : 2 = 37 666 823 714 971 542 358 398 437 + 1;
  • 37 666 823 714 971 542 358 398 437 : 2 = 18 833 411 857 485 771 179 199 218 + 1;
  • 18 833 411 857 485 771 179 199 218 : 2 = 9 416 705 928 742 885 589 599 609 + 0;
  • 9 416 705 928 742 885 589 599 609 : 2 = 4 708 352 964 371 442 794 799 804 + 1;
  • 4 708 352 964 371 442 794 799 804 : 2 = 2 354 176 482 185 721 397 399 902 + 0;
  • 2 354 176 482 185 721 397 399 902 : 2 = 1 177 088 241 092 860 698 699 951 + 0;
  • 1 177 088 241 092 860 698 699 951 : 2 = 588 544 120 546 430 349 349 975 + 1;
  • 588 544 120 546 430 349 349 975 : 2 = 294 272 060 273 215 174 674 987 + 1;
  • 294 272 060 273 215 174 674 987 : 2 = 147 136 030 136 607 587 337 493 + 1;
  • 147 136 030 136 607 587 337 493 : 2 = 73 568 015 068 303 793 668 746 + 1;
  • 73 568 015 068 303 793 668 746 : 2 = 36 784 007 534 151 896 834 373 + 0;
  • 36 784 007 534 151 896 834 373 : 2 = 18 392 003 767 075 948 417 186 + 1;
  • 18 392 003 767 075 948 417 186 : 2 = 9 196 001 883 537 974 208 593 + 0;
  • 9 196 001 883 537 974 208 593 : 2 = 4 598 000 941 768 987 104 296 + 1;
  • 4 598 000 941 768 987 104 296 : 2 = 2 299 000 470 884 493 552 148 + 0;
  • 2 299 000 470 884 493 552 148 : 2 = 1 149 500 235 442 246 776 074 + 0;
  • 1 149 500 235 442 246 776 074 : 2 = 574 750 117 721 123 388 037 + 0;
  • 574 750 117 721 123 388 037 : 2 = 287 375 058 860 561 694 018 + 1;
  • 287 375 058 860 561 694 018 : 2 = 143 687 529 430 280 847 009 + 0;
  • 143 687 529 430 280 847 009 : 2 = 71 843 764 715 140 423 504 + 1;
  • 71 843 764 715 140 423 504 : 2 = 35 921 882 357 570 211 752 + 0;
  • 35 921 882 357 570 211 752 : 2 = 17 960 941 178 785 105 876 + 0;
  • 17 960 941 178 785 105 876 : 2 = 8 980 470 589 392 552 938 + 0;
  • 8 980 470 589 392 552 938 : 2 = 4 490 235 294 696 276 469 + 0;
  • 4 490 235 294 696 276 469 : 2 = 2 245 117 647 348 138 234 + 1;
  • 2 245 117 647 348 138 234 : 2 = 1 122 558 823 674 069 117 + 0;
  • 1 122 558 823 674 069 117 : 2 = 561 279 411 837 034 558 + 1;
  • 561 279 411 837 034 558 : 2 = 280 639 705 918 517 279 + 0;
  • 280 639 705 918 517 279 : 2 = 140 319 852 959 258 639 + 1;
  • 140 319 852 959 258 639 : 2 = 70 159 926 479 629 319 + 1;
  • 70 159 926 479 629 319 : 2 = 35 079 963 239 814 659 + 1;
  • 35 079 963 239 814 659 : 2 = 17 539 981 619 907 329 + 1;
  • 17 539 981 619 907 329 : 2 = 8 769 990 809 953 664 + 1;
  • 8 769 990 809 953 664 : 2 = 4 384 995 404 976 832 + 0;
  • 4 384 995 404 976 832 : 2 = 2 192 497 702 488 416 + 0;
  • 2 192 497 702 488 416 : 2 = 1 096 248 851 244 208 + 0;
  • 1 096 248 851 244 208 : 2 = 548 124 425 622 104 + 0;
  • 548 124 425 622 104 : 2 = 274 062 212 811 052 + 0;
  • 274 062 212 811 052 : 2 = 137 031 106 405 526 + 0;
  • 137 031 106 405 526 : 2 = 68 515 553 202 763 + 0;
  • 68 515 553 202 763 : 2 = 34 257 776 601 381 + 1;
  • 34 257 776 601 381 : 2 = 17 128 888 300 690 + 1;
  • 17 128 888 300 690 : 2 = 8 564 444 150 345 + 0;
  • 8 564 444 150 345 : 2 = 4 282 222 075 172 + 1;
  • 4 282 222 075 172 : 2 = 2 141 111 037 586 + 0;
  • 2 141 111 037 586 : 2 = 1 070 555 518 793 + 0;
  • 1 070 555 518 793 : 2 = 535 277 759 396 + 1;
  • 535 277 759 396 : 2 = 267 638 879 698 + 0;
  • 267 638 879 698 : 2 = 133 819 439 849 + 0;
  • 133 819 439 849 : 2 = 66 909 719 924 + 1;
  • 66 909 719 924 : 2 = 33 454 859 962 + 0;
  • 33 454 859 962 : 2 = 16 727 429 981 + 0;
  • 16 727 429 981 : 2 = 8 363 714 990 + 1;
  • 8 363 714 990 : 2 = 4 181 857 495 + 0;
  • 4 181 857 495 : 2 = 2 090 928 747 + 1;
  • 2 090 928 747 : 2 = 1 045 464 373 + 1;
  • 1 045 464 373 : 2 = 522 732 186 + 1;
  • 522 732 186 : 2 = 261 366 093 + 0;
  • 261 366 093 : 2 = 130 683 046 + 1;
  • 130 683 046 : 2 = 65 341 523 + 0;
  • 65 341 523 : 2 = 32 670 761 + 1;
  • 32 670 761 : 2 = 16 335 380 + 1;
  • 16 335 380 : 2 = 8 167 690 + 0;
  • 8 167 690 : 2 = 4 083 845 + 0;
  • 4 083 845 : 2 = 2 041 922 + 1;
  • 2 041 922 : 2 = 1 020 961 + 0;
  • 1 020 961 : 2 = 510 480 + 1;
  • 510 480 : 2 = 255 240 + 0;
  • 255 240 : 2 = 127 620 + 0;
  • 127 620 : 2 = 63 810 + 0;
  • 63 810 : 2 = 31 905 + 0;
  • 31 905 : 2 = 15 952 + 1;
  • 15 952 : 2 = 7 976 + 0;
  • 7 976 : 2 = 3 988 + 0;
  • 3 988 : 2 = 1 994 + 0;
  • 1 994 : 2 = 997 + 0;
  • 997 : 2 = 498 + 1;
  • 498 : 2 = 249 + 0;
  • 249 : 2 = 124 + 1;
  • 124 : 2 = 62 + 0;
  • 62 : 2 = 31 + 0;
  • 31 : 2 = 15 + 1;
  • 15 : 2 = 7 + 1;
  • 7 : 2 = 3 + 1;
  • 3 : 2 = 1 + 1;
  • 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.

10 111 111 000 000 000 000 000 000 000 000 527(10) =


1 1111 0010 1000 0100 0010 1001 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111(2)


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

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


10 111 111 000 000 000 000 000 000 000 000 527(10) =


1 1111 0010 1000 0100 0010 1001 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111(2) =


1 1111 0010 1000 0100 0010 1001 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111(2) × 20 =


1,1111 0010 1000 0100 0010 1001 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111(2) × 2112


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


Mantisă (nenormalizată):
1,1111 0010 1000 0100 0010 1001 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


112 + 2(8-1) - 1 =


(112 + 127)(10) =


239(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;
  • 239 : 2 = 119 + 1;
  • 119 : 2 = 59 + 1;
  • 59 : 2 = 29 + 1;
  • 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) =


239(10) =


1110 1111(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. 111 1001 0100 0010 0001 0100 1 1010 1110 1001 0010 0101 1000 0000 1111 1010 1000 0101 0001 0101 1110 0101 1000 0000 0000 0000 0010 0000 1111 =


111 1001 0100 0010 0001 0100


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 1111


Mantisă (23 biți) =
111 1001 0100 0010 0001 0100


Numărul zecimal 10 111 111 000 000 000 000 000 000 000 000 527 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 1111 - 111 1001 0100 0010 0001 0100


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