-40 564 819 207 303 340 847 894 502 571 868 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere -40 564 819 207 303 340 847 894 502 571 868(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
-40 564 819 207 303 340 847 894 502 571 868(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. Începe cu versiunea pozitivă a numărului:

|-40 564 819 207 303 340 847 894 502 571 868| = 40 564 819 207 303 340 847 894 502 571 868


2. Î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;
  • 40 564 819 207 303 340 847 894 502 571 868 : 2 = 20 282 409 603 651 670 423 947 251 285 934 + 0;
  • 20 282 409 603 651 670 423 947 251 285 934 : 2 = 10 141 204 801 825 835 211 973 625 642 967 + 0;
  • 10 141 204 801 825 835 211 973 625 642 967 : 2 = 5 070 602 400 912 917 605 986 812 821 483 + 1;
  • 5 070 602 400 912 917 605 986 812 821 483 : 2 = 2 535 301 200 456 458 802 993 406 410 741 + 1;
  • 2 535 301 200 456 458 802 993 406 410 741 : 2 = 1 267 650 600 228 229 401 496 703 205 370 + 1;
  • 1 267 650 600 228 229 401 496 703 205 370 : 2 = 633 825 300 114 114 700 748 351 602 685 + 0;
  • 633 825 300 114 114 700 748 351 602 685 : 2 = 316 912 650 057 057 350 374 175 801 342 + 1;
  • 316 912 650 057 057 350 374 175 801 342 : 2 = 158 456 325 028 528 675 187 087 900 671 + 0;
  • 158 456 325 028 528 675 187 087 900 671 : 2 = 79 228 162 514 264 337 593 543 950 335 + 1;
  • 79 228 162 514 264 337 593 543 950 335 : 2 = 39 614 081 257 132 168 796 771 975 167 + 1;
  • 39 614 081 257 132 168 796 771 975 167 : 2 = 19 807 040 628 566 084 398 385 987 583 + 1;
  • 19 807 040 628 566 084 398 385 987 583 : 2 = 9 903 520 314 283 042 199 192 993 791 + 1;
  • 9 903 520 314 283 042 199 192 993 791 : 2 = 4 951 760 157 141 521 099 596 496 895 + 1;
  • 4 951 760 157 141 521 099 596 496 895 : 2 = 2 475 880 078 570 760 549 798 248 447 + 1;
  • 2 475 880 078 570 760 549 798 248 447 : 2 = 1 237 940 039 285 380 274 899 124 223 + 1;
  • 1 237 940 039 285 380 274 899 124 223 : 2 = 618 970 019 642 690 137 449 562 111 + 1;
  • 618 970 019 642 690 137 449 562 111 : 2 = 309 485 009 821 345 068 724 781 055 + 1;
  • 309 485 009 821 345 068 724 781 055 : 2 = 154 742 504 910 672 534 362 390 527 + 1;
  • 154 742 504 910 672 534 362 390 527 : 2 = 77 371 252 455 336 267 181 195 263 + 1;
  • 77 371 252 455 336 267 181 195 263 : 2 = 38 685 626 227 668 133 590 597 631 + 1;
  • 38 685 626 227 668 133 590 597 631 : 2 = 19 342 813 113 834 066 795 298 815 + 1;
  • 19 342 813 113 834 066 795 298 815 : 2 = 9 671 406 556 917 033 397 649 407 + 1;
  • 9 671 406 556 917 033 397 649 407 : 2 = 4 835 703 278 458 516 698 824 703 + 1;
  • 4 835 703 278 458 516 698 824 703 : 2 = 2 417 851 639 229 258 349 412 351 + 1;
  • 2 417 851 639 229 258 349 412 351 : 2 = 1 208 925 819 614 629 174 706 175 + 1;
  • 1 208 925 819 614 629 174 706 175 : 2 = 604 462 909 807 314 587 353 087 + 1;
  • 604 462 909 807 314 587 353 087 : 2 = 302 231 454 903 657 293 676 543 + 1;
  • 302 231 454 903 657 293 676 543 : 2 = 151 115 727 451 828 646 838 271 + 1;
  • 151 115 727 451 828 646 838 271 : 2 = 75 557 863 725 914 323 419 135 + 1;
  • 75 557 863 725 914 323 419 135 : 2 = 37 778 931 862 957 161 709 567 + 1;
  • 37 778 931 862 957 161 709 567 : 2 = 18 889 465 931 478 580 854 783 + 1;
  • 18 889 465 931 478 580 854 783 : 2 = 9 444 732 965 739 290 427 391 + 1;
  • 9 444 732 965 739 290 427 391 : 2 = 4 722 366 482 869 645 213 695 + 1;
  • 4 722 366 482 869 645 213 695 : 2 = 2 361 183 241 434 822 606 847 + 1;
  • 2 361 183 241 434 822 606 847 : 2 = 1 180 591 620 717 411 303 423 + 1;
  • 1 180 591 620 717 411 303 423 : 2 = 590 295 810 358 705 651 711 + 1;
  • 590 295 810 358 705 651 711 : 2 = 295 147 905 179 352 825 855 + 1;
  • 295 147 905 179 352 825 855 : 2 = 147 573 952 589 676 412 927 + 1;
  • 147 573 952 589 676 412 927 : 2 = 73 786 976 294 838 206 463 + 1;
  • 73 786 976 294 838 206 463 : 2 = 36 893 488 147 419 103 231 + 1;
  • 36 893 488 147 419 103 231 : 2 = 18 446 744 073 709 551 615 + 1;
  • 18 446 744 073 709 551 615 : 2 = 9 223 372 036 854 775 807 + 1;
  • 9 223 372 036 854 775 807 : 2 = 4 611 686 018 427 387 903 + 1;
  • 4 611 686 018 427 387 903 : 2 = 2 305 843 009 213 693 951 + 1;
  • 2 305 843 009 213 693 951 : 2 = 1 152 921 504 606 846 975 + 1;
  • 1 152 921 504 606 846 975 : 2 = 576 460 752 303 423 487 + 1;
  • 576 460 752 303 423 487 : 2 = 288 230 376 151 711 743 + 1;
  • 288 230 376 151 711 743 : 2 = 144 115 188 075 855 871 + 1;
  • 144 115 188 075 855 871 : 2 = 72 057 594 037 927 935 + 1;
  • 72 057 594 037 927 935 : 2 = 36 028 797 018 963 967 + 1;
  • 36 028 797 018 963 967 : 2 = 18 014 398 509 481 983 + 1;
  • 18 014 398 509 481 983 : 2 = 9 007 199 254 740 991 + 1;
  • 9 007 199 254 740 991 : 2 = 4 503 599 627 370 495 + 1;
  • 4 503 599 627 370 495 : 2 = 2 251 799 813 685 247 + 1;
  • 2 251 799 813 685 247 : 2 = 1 125 899 906 842 623 + 1;
  • 1 125 899 906 842 623 : 2 = 562 949 953 421 311 + 1;
  • 562 949 953 421 311 : 2 = 281 474 976 710 655 + 1;
  • 281 474 976 710 655 : 2 = 140 737 488 355 327 + 1;
  • 140 737 488 355 327 : 2 = 70 368 744 177 663 + 1;
  • 70 368 744 177 663 : 2 = 35 184 372 088 831 + 1;
  • 35 184 372 088 831 : 2 = 17 592 186 044 415 + 1;
  • 17 592 186 044 415 : 2 = 8 796 093 022 207 + 1;
  • 8 796 093 022 207 : 2 = 4 398 046 511 103 + 1;
  • 4 398 046 511 103 : 2 = 2 199 023 255 551 + 1;
  • 2 199 023 255 551 : 2 = 1 099 511 627 775 + 1;
  • 1 099 511 627 775 : 2 = 549 755 813 887 + 1;
  • 549 755 813 887 : 2 = 274 877 906 943 + 1;
  • 274 877 906 943 : 2 = 137 438 953 471 + 1;
  • 137 438 953 471 : 2 = 68 719 476 735 + 1;
  • 68 719 476 735 : 2 = 34 359 738 367 + 1;
  • 34 359 738 367 : 2 = 17 179 869 183 + 1;
  • 17 179 869 183 : 2 = 8 589 934 591 + 1;
  • 8 589 934 591 : 2 = 4 294 967 295 + 1;
  • 4 294 967 295 : 2 = 2 147 483 647 + 1;
  • 2 147 483 647 : 2 = 1 073 741 823 + 1;
  • 1 073 741 823 : 2 = 536 870 911 + 1;
  • 536 870 911 : 2 = 268 435 455 + 1;
  • 268 435 455 : 2 = 134 217 727 + 1;
  • 134 217 727 : 2 = 67 108 863 + 1;
  • 67 108 863 : 2 = 33 554 431 + 1;
  • 33 554 431 : 2 = 16 777 215 + 1;
  • 16 777 215 : 2 = 8 388 607 + 1;
  • 8 388 607 : 2 = 4 194 303 + 1;
  • 4 194 303 : 2 = 2 097 151 + 1;
  • 2 097 151 : 2 = 1 048 575 + 1;
  • 1 048 575 : 2 = 524 287 + 1;
  • 524 287 : 2 = 262 143 + 1;
  • 262 143 : 2 = 131 071 + 1;
  • 131 071 : 2 = 65 535 + 1;
  • 65 535 : 2 = 32 767 + 1;
  • 32 767 : 2 = 16 383 + 1;
  • 16 383 : 2 = 8 191 + 1;
  • 8 191 : 2 = 4 095 + 1;
  • 4 095 : 2 = 2 047 + 1;
  • 2 047 : 2 = 1 023 + 1;
  • 1 023 : 2 = 511 + 1;
  • 511 : 2 = 255 + 1;
  • 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;

3. 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.

40 564 819 207 303 340 847 894 502 571 868(10) =


1 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100(2)


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

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


40 564 819 207 303 340 847 894 502 571 868(10) =


1 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100(2) =


1 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100(2) × 20 =


1,1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100(2) × 2104


5. 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 1 (un număr negativ)


Exponent (neajustat): 104


Mantisă (nenormalizată):
1,1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100


6. Ajustează exponentul.

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


Exponent (ajustat) =


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


104 + 2(8-1) - 1 =


(104 + 127)(10) =


231(10)


7. 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;
  • 231 : 2 = 115 + 1;
  • 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;

8. 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) =


231(10) =


1110 0111(2)


9. 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 1111 1111 1111 1111 1 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 0101 1100 =


111 1111 1111 1111 1111 1111


10. 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) =
1 (un număr negativ)


Exponent (8 biți) =
1110 0111


Mantisă (23 biți) =
111 1111 1111 1111 1111 1111


Numărul zecimal -40 564 819 207 303 340 847 894 502 571 868 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

1 - 1110 0111 - 111 1111 1111 1111 1111 1111


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