34 028 235 000 000 000 000 000 000 000 000 259 scris ca binar pe 32 biți, precizie simplă, virgulă mobilă în standard IEEE 754

Scriere 34 028 235 000 000 000 000 000 000 000 000 259(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
34 028 235 000 000 000 000 000 000 000 000 259(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;
  • 34 028 235 000 000 000 000 000 000 000 000 259 : 2 = 17 014 117 500 000 000 000 000 000 000 000 129 + 1;
  • 17 014 117 500 000 000 000 000 000 000 000 129 : 2 = 8 507 058 750 000 000 000 000 000 000 000 064 + 1;
  • 8 507 058 750 000 000 000 000 000 000 000 064 : 2 = 4 253 529 375 000 000 000 000 000 000 000 032 + 0;
  • 4 253 529 375 000 000 000 000 000 000 000 032 : 2 = 2 126 764 687 500 000 000 000 000 000 000 016 + 0;
  • 2 126 764 687 500 000 000 000 000 000 000 016 : 2 = 1 063 382 343 750 000 000 000 000 000 000 008 + 0;
  • 1 063 382 343 750 000 000 000 000 000 000 008 : 2 = 531 691 171 875 000 000 000 000 000 000 004 + 0;
  • 531 691 171 875 000 000 000 000 000 000 004 : 2 = 265 845 585 937 500 000 000 000 000 000 002 + 0;
  • 265 845 585 937 500 000 000 000 000 000 002 : 2 = 132 922 792 968 750 000 000 000 000 000 001 + 0;
  • 132 922 792 968 750 000 000 000 000 000 001 : 2 = 66 461 396 484 375 000 000 000 000 000 000 + 1;
  • 66 461 396 484 375 000 000 000 000 000 000 : 2 = 33 230 698 242 187 500 000 000 000 000 000 + 0;
  • 33 230 698 242 187 500 000 000 000 000 000 : 2 = 16 615 349 121 093 750 000 000 000 000 000 + 0;
  • 16 615 349 121 093 750 000 000 000 000 000 : 2 = 8 307 674 560 546 875 000 000 000 000 000 + 0;
  • 8 307 674 560 546 875 000 000 000 000 000 : 2 = 4 153 837 280 273 437 500 000 000 000 000 + 0;
  • 4 153 837 280 273 437 500 000 000 000 000 : 2 = 2 076 918 640 136 718 750 000 000 000 000 + 0;
  • 2 076 918 640 136 718 750 000 000 000 000 : 2 = 1 038 459 320 068 359 375 000 000 000 000 + 0;
  • 1 038 459 320 068 359 375 000 000 000 000 : 2 = 519 229 660 034 179 687 500 000 000 000 + 0;
  • 519 229 660 034 179 687 500 000 000 000 : 2 = 259 614 830 017 089 843 750 000 000 000 + 0;
  • 259 614 830 017 089 843 750 000 000 000 : 2 = 129 807 415 008 544 921 875 000 000 000 + 0;
  • 129 807 415 008 544 921 875 000 000 000 : 2 = 64 903 707 504 272 460 937 500 000 000 + 0;
  • 64 903 707 504 272 460 937 500 000 000 : 2 = 32 451 853 752 136 230 468 750 000 000 + 0;
  • 32 451 853 752 136 230 468 750 000 000 : 2 = 16 225 926 876 068 115 234 375 000 000 + 0;
  • 16 225 926 876 068 115 234 375 000 000 : 2 = 8 112 963 438 034 057 617 187 500 000 + 0;
  • 8 112 963 438 034 057 617 187 500 000 : 2 = 4 056 481 719 017 028 808 593 750 000 + 0;
  • 4 056 481 719 017 028 808 593 750 000 : 2 = 2 028 240 859 508 514 404 296 875 000 + 0;
  • 2 028 240 859 508 514 404 296 875 000 : 2 = 1 014 120 429 754 257 202 148 437 500 + 0;
  • 1 014 120 429 754 257 202 148 437 500 : 2 = 507 060 214 877 128 601 074 218 750 + 0;
  • 507 060 214 877 128 601 074 218 750 : 2 = 253 530 107 438 564 300 537 109 375 + 0;
  • 253 530 107 438 564 300 537 109 375 : 2 = 126 765 053 719 282 150 268 554 687 + 1;
  • 126 765 053 719 282 150 268 554 687 : 2 = 63 382 526 859 641 075 134 277 343 + 1;
  • 63 382 526 859 641 075 134 277 343 : 2 = 31 691 263 429 820 537 567 138 671 + 1;
  • 31 691 263 429 820 537 567 138 671 : 2 = 15 845 631 714 910 268 783 569 335 + 1;
  • 15 845 631 714 910 268 783 569 335 : 2 = 7 922 815 857 455 134 391 784 667 + 1;
  • 7 922 815 857 455 134 391 784 667 : 2 = 3 961 407 928 727 567 195 892 333 + 1;
  • 3 961 407 928 727 567 195 892 333 : 2 = 1 980 703 964 363 783 597 946 166 + 1;
  • 1 980 703 964 363 783 597 946 166 : 2 = 990 351 982 181 891 798 973 083 + 0;
  • 990 351 982 181 891 798 973 083 : 2 = 495 175 991 090 945 899 486 541 + 1;
  • 495 175 991 090 945 899 486 541 : 2 = 247 587 995 545 472 949 743 270 + 1;
  • 247 587 995 545 472 949 743 270 : 2 = 123 793 997 772 736 474 871 635 + 0;
  • 123 793 997 772 736 474 871 635 : 2 = 61 896 998 886 368 237 435 817 + 1;
  • 61 896 998 886 368 237 435 817 : 2 = 30 948 499 443 184 118 717 908 + 1;
  • 30 948 499 443 184 118 717 908 : 2 = 15 474 249 721 592 059 358 954 + 0;
  • 15 474 249 721 592 059 358 954 : 2 = 7 737 124 860 796 029 679 477 + 0;
  • 7 737 124 860 796 029 679 477 : 2 = 3 868 562 430 398 014 839 738 + 1;
  • 3 868 562 430 398 014 839 738 : 2 = 1 934 281 215 199 007 419 869 + 0;
  • 1 934 281 215 199 007 419 869 : 2 = 967 140 607 599 503 709 934 + 1;
  • 967 140 607 599 503 709 934 : 2 = 483 570 303 799 751 854 967 + 0;
  • 483 570 303 799 751 854 967 : 2 = 241 785 151 899 875 927 483 + 1;
  • 241 785 151 899 875 927 483 : 2 = 120 892 575 949 937 963 741 + 1;
  • 120 892 575 949 937 963 741 : 2 = 60 446 287 974 968 981 870 + 1;
  • 60 446 287 974 968 981 870 : 2 = 30 223 143 987 484 490 935 + 0;
  • 30 223 143 987 484 490 935 : 2 = 15 111 571 993 742 245 467 + 1;
  • 15 111 571 993 742 245 467 : 2 = 7 555 785 996 871 122 733 + 1;
  • 7 555 785 996 871 122 733 : 2 = 3 777 892 998 435 561 366 + 1;
  • 3 777 892 998 435 561 366 : 2 = 1 888 946 499 217 780 683 + 0;
  • 1 888 946 499 217 780 683 : 2 = 944 473 249 608 890 341 + 1;
  • 944 473 249 608 890 341 : 2 = 472 236 624 804 445 170 + 1;
  • 472 236 624 804 445 170 : 2 = 236 118 312 402 222 585 + 0;
  • 236 118 312 402 222 585 : 2 = 118 059 156 201 111 292 + 1;
  • 118 059 156 201 111 292 : 2 = 59 029 578 100 555 646 + 0;
  • 59 029 578 100 555 646 : 2 = 29 514 789 050 277 823 + 0;
  • 29 514 789 050 277 823 : 2 = 14 757 394 525 138 911 + 1;
  • 14 757 394 525 138 911 : 2 = 7 378 697 262 569 455 + 1;
  • 7 378 697 262 569 455 : 2 = 3 689 348 631 284 727 + 1;
  • 3 689 348 631 284 727 : 2 = 1 844 674 315 642 363 + 1;
  • 1 844 674 315 642 363 : 2 = 922 337 157 821 181 + 1;
  • 922 337 157 821 181 : 2 = 461 168 578 910 590 + 1;
  • 461 168 578 910 590 : 2 = 230 584 289 455 295 + 0;
  • 230 584 289 455 295 : 2 = 115 292 144 727 647 + 1;
  • 115 292 144 727 647 : 2 = 57 646 072 363 823 + 1;
  • 57 646 072 363 823 : 2 = 28 823 036 181 911 + 1;
  • 28 823 036 181 911 : 2 = 14 411 518 090 955 + 1;
  • 14 411 518 090 955 : 2 = 7 205 759 045 477 + 1;
  • 7 205 759 045 477 : 2 = 3 602 879 522 738 + 1;
  • 3 602 879 522 738 : 2 = 1 801 439 761 369 + 0;
  • 1 801 439 761 369 : 2 = 900 719 880 684 + 1;
  • 900 719 880 684 : 2 = 450 359 940 342 + 0;
  • 450 359 940 342 : 2 = 225 179 970 171 + 0;
  • 225 179 970 171 : 2 = 112 589 985 085 + 1;
  • 112 589 985 085 : 2 = 56 294 992 542 + 1;
  • 56 294 992 542 : 2 = 28 147 496 271 + 0;
  • 28 147 496 271 : 2 = 14 073 748 135 + 1;
  • 14 073 748 135 : 2 = 7 036 874 067 + 1;
  • 7 036 874 067 : 2 = 3 518 437 033 + 1;
  • 3 518 437 033 : 2 = 1 759 218 516 + 1;
  • 1 759 218 516 : 2 = 879 609 258 + 0;
  • 879 609 258 : 2 = 439 804 629 + 0;
  • 439 804 629 : 2 = 219 902 314 + 1;
  • 219 902 314 : 2 = 109 951 157 + 0;
  • 109 951 157 : 2 = 54 975 578 + 1;
  • 54 975 578 : 2 = 27 487 789 + 0;
  • 27 487 789 : 2 = 13 743 894 + 1;
  • 13 743 894 : 2 = 6 871 947 + 0;
  • 6 871 947 : 2 = 3 435 973 + 1;
  • 3 435 973 : 2 = 1 717 986 + 1;
  • 1 717 986 : 2 = 858 993 + 0;
  • 858 993 : 2 = 429 496 + 1;
  • 429 496 : 2 = 214 748 + 0;
  • 214 748 : 2 = 107 374 + 0;
  • 107 374 : 2 = 53 687 + 0;
  • 53 687 : 2 = 26 843 + 1;
  • 26 843 : 2 = 13 421 + 1;
  • 13 421 : 2 = 6 710 + 1;
  • 6 710 : 2 = 3 355 + 0;
  • 3 355 : 2 = 1 677 + 1;
  • 1 677 : 2 = 838 + 1;
  • 838 : 2 = 419 + 0;
  • 419 : 2 = 209 + 1;
  • 209 : 2 = 104 + 1;
  • 104 : 2 = 52 + 0;
  • 52 : 2 = 26 + 0;
  • 26 : 2 = 13 + 0;
  • 13 : 2 = 6 + 1;
  • 6 : 2 = 3 + 0;
  • 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.

34 028 235 000 000 000 000 000 000 000 000 259(10) =


110 1000 1101 1011 1000 1011 0101 0100 1111 0110 0101 1111 1011 1111 0010 1101 1101 1101 0100 1101 1011 1111 1000 0000 0000 0000 0001 0000 0011(2)


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

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


34 028 235 000 000 000 000 000 000 000 000 259(10) =


110 1000 1101 1011 1000 1011 0101 0100 1111 0110 0101 1111 1011 1111 0010 1101 1101 1101 0100 1101 1011 1111 1000 0000 0000 0000 0001 0000 0011(2) =


110 1000 1101 1011 1000 1011 0101 0100 1111 0110 0101 1111 1011 1111 0010 1101 1101 1101 0100 1101 1011 1111 1000 0000 0000 0000 0001 0000 0011(2) × 20 =


1,1010 0011 0110 1110 0010 1101 0101 0011 1101 1001 0111 1110 1111 1100 1011 0111 0111 0101 0011 0110 1111 1110 0000 0000 0000 0000 0100 0000 11(2) × 2114


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


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


5. Ajustează exponentul.

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


Exponent (ajustat) =


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


114 + 2(8-1) - 1 =


(114 + 127)(10) =


241(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;
  • 241 : 2 = 120 + 1;
  • 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) =


241(10) =


1111 0001(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. 101 0001 1011 0111 0001 0110 101 0100 1111 0110 0101 1111 1011 1111 0010 1101 1101 1101 0100 1101 1011 1111 1000 0000 0000 0000 0001 0000 0011 =


101 0001 1011 0111 0001 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) =
1111 0001


Mantisă (23 biți) =
101 0001 1011 0111 0001 0110


Numărul zecimal 34 028 235 000 000 000 000 000 000 000 000 259 scris în binar în representarea pe 32 biți, precizie simplă, în virgulă mobilă în standard IEEE 754:

0 - 1111 0001 - 101 0001 1011 0111 0001 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