Convertor din sistem binar pe 64 biți, precizie dublă, în virgulă mobilă în standard IEEE 754: convertește în numere zecimale (double) în baza zece

Convertește numere din binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754 în numere zecimale (double) în baza zece

Lungimea numărului binar introdus trebuie să fie cea specificată - altfel biți de completare de valoare '0' vor fi adăugați la dreapta numărului.

Ultimele numere binare pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754 convertite în numere zecimale (double) în baza zece

0 - 100 0001 1000 - 1010 1001 1101 0100 0110 1000 1001 1101 0110 0011 1101 0010 1001 = 55 814 353,229 608 841 240 406 036 376 953 125 26 apr, 10:33 EET (UTC +2)
1 - 111 1111 1111 - 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 = -359 538 626 972 463 141 629 054 847 463 408 713 596 141 135 051 689 993 197 834 953 606 314 521 560 057 077 521 179 117 265 533 756 343 080 917 907 028 764 928 468 642 653 778 928 365 536 935 093 407 075 033 972 099 821 153 102 564 152 490 980 180 778 657 888 151 737 016 910 267 884 609 166 473 806 445 896 331 617 118 664 246 696 549 595 652 408 289 446 337 476 354 361 838 599 762 500 808 052 368 249 716 736 26 apr, 10:31 EET (UTC +2)
1 - 111 1001 0101 - 1011 1111 1100 0110 0001 0000 1111 0110 0000 0000 0000 0000 0000 = -3 875 739 974 753 834 706 075 163 486 913 256 793 856 570 234 510 836 280 412 770 513 148 715 349 080 425 257 484 493 363 182 218 688 710 603 984 309 181 221 006 228 382 042 997 444 461 286 993 983 555 596 632 805 592 952 453 024 263 932 572 099 783 602 225 529 645 252 313 717 991 116 420 093 794 541 292 813 610 327 893 705 685 088 582 916 171 632 511 843 259 383 808 26 apr, 10:31 EET (UTC +2)
1 - 101 0100 0101 - 1000 0101 0101 0000 0101 0101 0111 1110 0000 0000 1111 0101 0101 = -207 892 309 833 255 498 987 547 816 648 997 430 273 358 774 279 772 270 680 065 363 208 053 040 712 265 028 215 618 950 198 722 560 26 apr, 10:31 EET (UTC +2)
1 - 100 1101 0110 - 1000 1100 0000 0100 0011 0000 0100 0000 1110 0010 1100 0011 1001 = -81 455 840 909 427 417 337 246 493 223 197 667 724 784 370 830 030 238 870 096 838 656 26 apr, 10:29 EET (UTC +2)
1 - 100 1011 0011 - 1001 0011 0100 1000 0110 1000 1001 1111 0000 0010 1010 0001 1111 = -2 414 176 421 106 086 377 098 956 829 543 870 453 037 451 803 189 313 536 26 apr, 10:29 EET (UTC +2)
1 - 100 0011 1100 - 1011 0000 1011 1010 0001 0110 1000 0000 0000 0000 0000 0000 0000 = -3 897 657 463 633 084 416 26 apr, 10:29 EET (UTC +2)
1 - 100 0011 1000 - 1000 0110 1100 1000 0111 1101 0111 1111 1000 0000 0011 1110 0000 = -219 991 364 505 467 904 26 apr, 10:29 EET (UTC +2)
1 - 100 0011 0000 - 1000 0011 1110 0110 1010 0011 1111 1100 0000 0101 0000 1010 0010 = -853 003 187 259 924,25 26 apr, 10:29 EET (UTC +2)
1 - 100 0010 1000 - 1010 1011 1000 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 = -3 672 264 146 944 26 apr, 10:28 EET (UTC +2)
1 - 100 0010 0010 - 0011 0110 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 = -41 607 495 680 26 apr, 10:28 EET (UTC +2)
1 - 100 0000 1011 - 1000 1010 1110 1000 0101 1000 0001 0101 0111 1111 1110 0000 0001 = -6 318,521 504 878 533 050 941 769 033 670 425 415 039 062 5 26 apr, 10:28 EET (UTC +2)
1 - 100 0000 0111 - 1000 0110 0111 0001 0001 1110 1011 1000 0101 0001 1110 1011 1001 = -390,441 875 000 000 038 653 524 825 349 450 111 389 160 156 25 26 apr, 10:28 EET (UTC +2)

Cum să convertești numere din sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie dublă pe 64 de biți, în numere zecimale (baza 10)

Urmează pașii de mai jos pentru a converti un număr din sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie dublă pe 64 de biți, în zecimal în baza zece:

  • 1. Identifică elementele ce alcătuiesc reprezentarea numărului binar:
    Primul bit (cel mai din stânga) indică semnul, 1 = negativ, 0 = pozitiv.
    Următorii 11 biți conțin exponentul.
    Ultimii 52 de biți conțin mantisa.
  • 2. Convertește exponentul, care întotdeauna reprezintă un număr întreg pozitiv, din binar (baza 2) în zecimal (baza 10).
  • 3. Ajustează exponentul, scade excesul de biți, 2(11 - 1) - 1 = 1.023, datorat reprezentării deplasate pe 11 biți.
  • 4. Convertește mantisa, care reprezintă partea fracționară a numărului (ceea ce urmează după partea întreagă a numărului, separată prin virgulă), din binar (baza 2) în zecimal (baza 10).
  • 5. Pune toate numerele împreună, pentru a calcula valoarea numărului zecimal în precizie simplă:
    (-1)Semn * (1 + Mantisă) * 2(Exponent ajustat)

Exemplu: convertește numărul 1 - 100 0011 1101 - 1000 0000 0010 0001 0100 0000 0100 1110 0000 0100 0000 1010 1000 din sistem binar în virgulă mobilă în reprezentarea IEEE 754, precizie dublă pe 64 de biți în număr zecimal (baza 10):

  • 1. Identifică elementele ce alcătuiesc reprezentarea numărului binar:
    Primul bit (cel mai din stânga) indică semnul, 1 = negativ, 0 = pozitiv.
    Următorii 11 biți conțin exponentul: 100 0011 1101
    Ultimii 52 de biți conțin mantisa: 1000 0000 0010 0001 0100 0000 0100 1110 0000 0100 0000 1010 1000
  • 2. Convertește exponentul, care întotdeauna reprezintă un număr întreg pozitiv, din binar (baza 2) în zecimal (baza 10): 100 0011 1101(2) =
    1 * 210 + 0 * 29 + 0 * 28 + 0 * 27 + 0 * 26 + 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 =
    1.024 + 0 + 0 + 0 + 0 + 32 + 16 + 8 + 4 + 0 + 1 =
    1.024 + 32 + 16 + 8 + 4 + 1 =
    1.085(10)
  • 3. Ajustează exponentul, scade excesul de biți, 2(11 - 1) - 1 = 1.023, datorat reprezentării deplasate pe 11 biți:
    Exponent ajustat = 1.085 - 1.023 = 62
  • 4. Convertește mantisa, care reprezintă partea fracționară a numărului (ceea ce urmează după partea întreagă a numărului, separată prin virgulă), din binar (baza 2) în zecimal (baza 10):
    1000 0000 0010 0001 0100 0000 0100 1110 0000 0100 0000 1010 1000(2) =
    = 1 * 2-1 + 0 * 2-2 + 0 * 2-3 + 0 * 2-4 + 0 * 2-5 + 0 * 2-6 + 0 * 2-7 + 0 * 2-8 + 0 * 2-9 + 0 * 2-10 + 1 * 2-11 + 0 * 2-12 + 0 * 2-13 + 0 * 2-14 + 0 * 2-15 + 1 * 2-16 + 0 * 2-17 + 1 * 2-18 + 0 * 2-19 + 0 * 2-20 + 0 * 2-21 + 0 * 2-22 + 0 * 2-23 + 0 * 2-24 + 0 * 2-25 + 1 * 2-26 + 0 * 2-27 + 0 * 2-28 + 1 * 2-29 + 1 * 2-30 + 1 * 2-31 + 0 * 2-32 + 0 * 2-33 + 0 * 2-34 + 0 * 2-35 + 0 * 2-36 + 0 * 2-37 + 1 * 2-38 + 0 * 2-39 + 0 * 2-40 + 0 * 2-41 + 0 * 2-42 + 0 * 2-43 + 0 * 2-44 + 1 * 2-45 + 0 * 2-46 + 1 * 2-47 + 0 * 2-48 + 1 * 2-49 + 0 * 2-50 + 0 * 2-51 + 0 * 2-52 =
    0,5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,000 488 281 25 + 0 + 0 + 0 + 0 + 0,000 015 258 789 062 5 + 0 + 0,000 003 814 697 265 625 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0,000 000 014 901 161 193 847 656 25 + 0 + 0 + 0,000 000 001 862 645 149 230 957 031 25 + 0,000 000 000 931 322 574 615 478 515 625 + 0,000 000 000 465 661 287 307 739 257 812 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0,000 000 000 003 637 978 807 091 712 951 660 156 25 + 0 + 0 + 0 + 0 + 0 + 0 + 0,000 000 000 000 028 421 709 430 404 007 434 844 970 703 125 + 0 + 0,000 000 000 000 007 105 427 357 601 001 858 711 242 675 781 25 + 0 + 0,000 000 000 000 001 776 356 839 400 250 464 677 810 668 945 312 5 + 0 + 0 + 0 =
    0,5 + 0,000 488 281 25 + 0,000 015 258 789 062 5 + 0,000 003 814 697 265 625 + 0,000 000 014 901 161 193 847 656 25 + 0,000 000 001 862 645 149 230 957 031 25 + 0,000 000 000 931 322 574 615 478 515 625 + 0,000 000 000 465 661 287 307 739 257 812 5 + 0,000 000 000 003 637 978 807 091 712 951 660 156 25 + 0,000 000 000 000 028 421 709 430 404 007 434 844 970 703 125 + 0,000 000 000 000 007 105 427 357 601 001 858 711 242 675 781 25 + 0,000 000 000 000 001 776 356 839 400 250 464 677 810 668 945 312 5 =
    0,500 507 372 900 793 612 302 550 172 898 918 390 274 047 851 562 5(10)
  • 5. Pune toate numerele împreună, pentru a calcula valoarea numărului zecimal în precizie dublă:
    (-1)Semn * (1 + Mantisă) * 2(Exponent ajustat) =
    (-1)1 * (1 + 0,500 507 372 900 793 612 302 550 172 898 918 390 274 047 851 562 5) * 262 =
    -1,500 507 372 900 793 612 302 550 172 898 918 390 274 047 851 562 5 * 262 =
    -6 919 868 872 153 800 704(10)
  • 1 - 100 0011 1101 - 1000 0000 0010 0001 0100 0000 0100 1110 0000 0100 0000 1010 1000 convertit din binar pe 64 de biți, precizie dublă, în virgulă mobilă în standard IEEE 754 în număr zecimal (double) în sistem zecimal (în baza 10) = -6 919 868 872 153 800 704(10)