10 111 111 111 010 011 001 100 110 011 467 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 10 111 111 111 010 011 001 100 110 011 467(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 111 010 011 001 100 110 011 467(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 111 010 011 001 100 110 011 467 : 2 = 5 055 555 555 505 005 500 550 055 005 733 + 1;
  • 5 055 555 555 505 005 500 550 055 005 733 : 2 = 2 527 777 777 752 502 750 275 027 502 866 + 1;
  • 2 527 777 777 752 502 750 275 027 502 866 : 2 = 1 263 888 888 876 251 375 137 513 751 433 + 0;
  • 1 263 888 888 876 251 375 137 513 751 433 : 2 = 631 944 444 438 125 687 568 756 875 716 + 1;
  • 631 944 444 438 125 687 568 756 875 716 : 2 = 315 972 222 219 062 843 784 378 437 858 + 0;
  • 315 972 222 219 062 843 784 378 437 858 : 2 = 157 986 111 109 531 421 892 189 218 929 + 0;
  • 157 986 111 109 531 421 892 189 218 929 : 2 = 78 993 055 554 765 710 946 094 609 464 + 1;
  • 78 993 055 554 765 710 946 094 609 464 : 2 = 39 496 527 777 382 855 473 047 304 732 + 0;
  • 39 496 527 777 382 855 473 047 304 732 : 2 = 19 748 263 888 691 427 736 523 652 366 + 0;
  • 19 748 263 888 691 427 736 523 652 366 : 2 = 9 874 131 944 345 713 868 261 826 183 + 0;
  • 9 874 131 944 345 713 868 261 826 183 : 2 = 4 937 065 972 172 856 934 130 913 091 + 1;
  • 4 937 065 972 172 856 934 130 913 091 : 2 = 2 468 532 986 086 428 467 065 456 545 + 1;
  • 2 468 532 986 086 428 467 065 456 545 : 2 = 1 234 266 493 043 214 233 532 728 272 + 1;
  • 1 234 266 493 043 214 233 532 728 272 : 2 = 617 133 246 521 607 116 766 364 136 + 0;
  • 617 133 246 521 607 116 766 364 136 : 2 = 308 566 623 260 803 558 383 182 068 + 0;
  • 308 566 623 260 803 558 383 182 068 : 2 = 154 283 311 630 401 779 191 591 034 + 0;
  • 154 283 311 630 401 779 191 591 034 : 2 = 77 141 655 815 200 889 595 795 517 + 0;
  • 77 141 655 815 200 889 595 795 517 : 2 = 38 570 827 907 600 444 797 897 758 + 1;
  • 38 570 827 907 600 444 797 897 758 : 2 = 19 285 413 953 800 222 398 948 879 + 0;
  • 19 285 413 953 800 222 398 948 879 : 2 = 9 642 706 976 900 111 199 474 439 + 1;
  • 9 642 706 976 900 111 199 474 439 : 2 = 4 821 353 488 450 055 599 737 219 + 1;
  • 4 821 353 488 450 055 599 737 219 : 2 = 2 410 676 744 225 027 799 868 609 + 1;
  • 2 410 676 744 225 027 799 868 609 : 2 = 1 205 338 372 112 513 899 934 304 + 1;
  • 1 205 338 372 112 513 899 934 304 : 2 = 602 669 186 056 256 949 967 152 + 0;
  • 602 669 186 056 256 949 967 152 : 2 = 301 334 593 028 128 474 983 576 + 0;
  • 301 334 593 028 128 474 983 576 : 2 = 150 667 296 514 064 237 491 788 + 0;
  • 150 667 296 514 064 237 491 788 : 2 = 75 333 648 257 032 118 745 894 + 0;
  • 75 333 648 257 032 118 745 894 : 2 = 37 666 824 128 516 059 372 947 + 0;
  • 37 666 824 128 516 059 372 947 : 2 = 18 833 412 064 258 029 686 473 + 1;
  • 18 833 412 064 258 029 686 473 : 2 = 9 416 706 032 129 014 843 236 + 1;
  • 9 416 706 032 129 014 843 236 : 2 = 4 708 353 016 064 507 421 618 + 0;
  • 4 708 353 016 064 507 421 618 : 2 = 2 354 176 508 032 253 710 809 + 0;
  • 2 354 176 508 032 253 710 809 : 2 = 1 177 088 254 016 126 855 404 + 1;
  • 1 177 088 254 016 126 855 404 : 2 = 588 544 127 008 063 427 702 + 0;
  • 588 544 127 008 063 427 702 : 2 = 294 272 063 504 031 713 851 + 0;
  • 294 272 063 504 031 713 851 : 2 = 147 136 031 752 015 856 925 + 1;
  • 147 136 031 752 015 856 925 : 2 = 73 568 015 876 007 928 462 + 1;
  • 73 568 015 876 007 928 462 : 2 = 36 784 007 938 003 964 231 + 0;
  • 36 784 007 938 003 964 231 : 2 = 18 392 003 969 001 982 115 + 1;
  • 18 392 003 969 001 982 115 : 2 = 9 196 001 984 500 991 057 + 1;
  • 9 196 001 984 500 991 057 : 2 = 4 598 000 992 250 495 528 + 1;
  • 4 598 000 992 250 495 528 : 2 = 2 299 000 496 125 247 764 + 0;
  • 2 299 000 496 125 247 764 : 2 = 1 149 500 248 062 623 882 + 0;
  • 1 149 500 248 062 623 882 : 2 = 574 750 124 031 311 941 + 0;
  • 574 750 124 031 311 941 : 2 = 287 375 062 015 655 970 + 1;
  • 287 375 062 015 655 970 : 2 = 143 687 531 007 827 985 + 0;
  • 143 687 531 007 827 985 : 2 = 71 843 765 503 913 992 + 1;
  • 71 843 765 503 913 992 : 2 = 35 921 882 751 956 996 + 0;
  • 35 921 882 751 956 996 : 2 = 17 960 941 375 978 498 + 0;
  • 17 960 941 375 978 498 : 2 = 8 980 470 687 989 249 + 0;
  • 8 980 470 687 989 249 : 2 = 4 490 235 343 994 624 + 1;
  • 4 490 235 343 994 624 : 2 = 2 245 117 671 997 312 + 0;
  • 2 245 117 671 997 312 : 2 = 1 122 558 835 998 656 + 0;
  • 1 122 558 835 998 656 : 2 = 561 279 417 999 328 + 0;
  • 561 279 417 999 328 : 2 = 280 639 708 999 664 + 0;
  • 280 639 708 999 664 : 2 = 140 319 854 499 832 + 0;
  • 140 319 854 499 832 : 2 = 70 159 927 249 916 + 0;
  • 70 159 927 249 916 : 2 = 35 079 963 624 958 + 0;
  • 35 079 963 624 958 : 2 = 17 539 981 812 479 + 0;
  • 17 539 981 812 479 : 2 = 8 769 990 906 239 + 1;
  • 8 769 990 906 239 : 2 = 4 384 995 453 119 + 1;
  • 4 384 995 453 119 : 2 = 2 192 497 726 559 + 1;
  • 2 192 497 726 559 : 2 = 1 096 248 863 279 + 1;
  • 1 096 248 863 279 : 2 = 548 124 431 639 + 1;
  • 548 124 431 639 : 2 = 274 062 215 819 + 1;
  • 274 062 215 819 : 2 = 137 031 107 909 + 1;
  • 137 031 107 909 : 2 = 68 515 553 954 + 1;
  • 68 515 553 954 : 2 = 34 257 776 977 + 0;
  • 34 257 776 977 : 2 = 17 128 888 488 + 1;
  • 17 128 888 488 : 2 = 8 564 444 244 + 0;
  • 8 564 444 244 : 2 = 4 282 222 122 + 0;
  • 4 282 222 122 : 2 = 2 141 111 061 + 0;
  • 2 141 111 061 : 2 = 1 070 555 530 + 1;
  • 1 070 555 530 : 2 = 535 277 765 + 0;
  • 535 277 765 : 2 = 267 638 882 + 1;
  • 267 638 882 : 2 = 133 819 441 + 0;
  • 133 819 441 : 2 = 66 909 720 + 1;
  • 66 909 720 : 2 = 33 454 860 + 0;
  • 33 454 860 : 2 = 16 727 430 + 0;
  • 16 727 430 : 2 = 8 363 715 + 0;
  • 8 363 715 : 2 = 4 181 857 + 1;
  • 4 181 857 : 2 = 2 090 928 + 1;
  • 2 090 928 : 2 = 1 045 464 + 0;
  • 1 045 464 : 2 = 522 732 + 0;
  • 522 732 : 2 = 261 366 + 0;
  • 261 366 : 2 = 130 683 + 0;
  • 130 683 : 2 = 65 341 + 1;
  • 65 341 : 2 = 32 670 + 1;
  • 32 670 : 2 = 16 335 + 0;
  • 16 335 : 2 = 8 167 + 1;
  • 8 167 : 2 = 4 083 + 1;
  • 4 083 : 2 = 2 041 + 1;
  • 2 041 : 2 = 1 020 + 1;
  • 1 020 : 2 = 510 + 0;
  • 510 : 2 = 255 + 0;
  • 255 : 2 = 127 + 1;
  • 127 : 2 = 63 + 1;
  • 63 : 2 = 31 + 1;
  • 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 111 010 011 001 100 110 011 467(10) =


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


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

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


10 111 111 111 010 011 001 100 110 011 467(10) =


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


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


1,1111 1110 0111 1011 0000 1100 0101 0100 0101 1111 1110 0000 0001 0001 0100 0111 0110 0100 1100 0001 1110 1000 0111 0001 0010 11(2) × 2102


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


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


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


102 + 2(8-1) - 1 =


(102 + 127)(10) =


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


229(10) =


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


111 1111 0011 1101 1000 0110


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 0101


Mantisă (23 biți) =
111 1111 0011 1101 1000 0110


Numărul zecimal 10 111 111 111 010 011 001 100 110 011 467 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1110 0101 - 111 1111 0011 1101 1000 0110


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