0 - 011 0001 0011 - 0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard Converted to Decimal
0 - 011 0001 0011 - 0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000: 64 bit double precision IEEE 754 binary floating point representation standard converted to decimal
What are the steps to convert
0 - 011 0001 0011 - 0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000, a 64 bit double precision IEEE 754 binary floating point representation standard to decimal?
1. Identify the elements that make up the binary representation of the number:
The first bit (the leftmost) indicates the sign,
1 = negative, 0 = positive.
0
The next 11 bits contain the exponent:
011 0001 0011
The last 52 bits contain the mantissa:
0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000
2. Convert the exponent from binary (from base 2) to decimal (in base 10).
The exponent is allways a positive integer.
011 0001 0011(2) =
0 × 210 + 1 × 29 + 1 × 28 + 0 × 27 + 0 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 0 × 22 + 1 × 21 + 1 × 20 =
0 + 512 + 256 + 0 + 0 + 0 + 16 + 0 + 0 + 2 + 1 =
512 + 256 + 16 + 2 + 1 =
787(10)
3. Adjust the exponent.
Subtract the excess bits: 2(11 - 1) - 1 = 1023,
that is due to the 11 bit excess/bias notation.
The exponent, adjusted = 787 - 1023 = -236
4. Convert the mantissa from binary (from base 2) to decimal (in base 10).
The mantissa represents the fractional part of the number (what comes after the whole part of the number, separated from it by a comma).
0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000(2) =
0 × 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 + 0 × 2-11 + 0 × 2-12 + 0 × 2-13 + 0 × 2-14 + 0 × 2-15 + 0 × 2-16 + 0 × 2-17 + 0 × 2-18 + 0 × 2-19 + 0 × 2-20 + 0 × 2-21 + 0 × 2-22 + 0 × 2-23 + 0 × 2-24 + 1 × 2-25 + 0 × 2-26 + 0 × 2-27 + 1 × 2-28 + 0 × 2-29 + 1 × 2-30 + 0 × 2-31 + 1 × 2-32 + 0 × 2-33 + 1 × 2-34 + 0 × 2-35 + 1 × 2-36 + 0 × 2-37 + 1 × 2-38 + 0 × 2-39 + 1 × 2-40 + 0 × 2-41 + 1 × 2-42 + 0 × 2-43 + 1 × 2-44 + 0 × 2-45 + 0 × 2-46 + 1 × 2-47 + 1 × 2-48 + 0 × 2-49 + 0 × 2-50 + 0 × 2-51 + 0 × 2-52 =
0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0.000 000 029 802 322 387 695 312 5 + 0 + 0 + 0.000 000 003 725 290 298 461 914 062 5 + 0 + 0.000 000 000 931 322 574 615 478 515 625 + 0 + 0.000 000 000 232 830 643 653 869 628 906 25 + 0 + 0.000 000 000 058 207 660 913 467 407 226 562 5 + 0 + 0.000 000 000 014 551 915 228 366 851 806 640 625 + 0 + 0.000 000 000 003 637 978 807 091 712 951 660 156 25 + 0 + 0.000 000 000 000 909 494 701 772 928 237 915 039 062 5 + 0 + 0.000 000 000 000 227 373 675 443 232 059 478 759 765 625 + 0 + 0.000 000 000 000 056 843 418 860 808 014 869 689 941 406 25 + 0 + 0 + 0.000 000 000 000 007 105 427 357 601 001 858 711 242 675 781 25 + 0.000 000 000 000 003 552 713 678 800 500 929 355 621 337 890 625 + 0 + 0 + 0 + 0 =
0.000 000 029 802 322 387 695 312 5 + 0.000 000 003 725 290 298 461 914 062 5 + 0.000 000 000 931 322 574 615 478 515 625 + 0.000 000 000 232 830 643 653 869 628 906 25 + 0.000 000 000 058 207 660 913 467 407 226 562 5 + 0.000 000 000 014 551 915 228 366 851 806 640 625 + 0.000 000 000 003 637 978 807 091 712 951 660 156 25 + 0.000 000 000 000 909 494 701 772 928 237 915 039 062 5 + 0.000 000 000 000 227 373 675 443 232 059 478 759 765 625 + 0.000 000 000 000 056 843 418 860 808 014 869 689 941 406 25 + 0.000 000 000 000 007 105 427 357 601 001 858 711 242 675 781 25 + 0.000 000 000 000 003 552 713 678 800 500 929 355 621 337 890 625 =
0.000 000 034 769 367 829 312 614 048 831 164 836 883 544 921 875(10)
5. Put all the numbers into expression to calculate the double precision floating point decimal value:
(-1)Sign × (1 + Mantissa) × 2(Adjusted exponent) =
(-1)0 × (1 + 0.000 000 034 769 367 829 312 614 048 831 164 836 883 544 921 875) × 2-236 =
1.000 000 034 769 367 829 312 614 048 831 164 836 883 544 921 875 × 2-236 = ...
= 0.000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 009 055 679 393 686 949 203 445 899 849 343 480 585 561 235 766 279 192 604 119 814 047 341 793 866 710 067 677 739 357 470 619 083 070 786 977 436 179 905 552 691 995 129 934 401 848 679 192 002 975 943 340 495 082 362 755 929 370 964 902 425 100 717 664 463 445 544 242 858 886 718 75
0 - 011 0001 0011 - 0000 0000 0000 0000 0000 0000 1001 0101 0101 0101 0101 0011 0000, a 64 bit double precision IEEE 754 binary floating point representation standard to a decimal number, written in base ten (double) = 0.000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 009 055 679 393 686 949 203 445 899 849 343 480 585 561 235 766 279 192 604 119 814 047 341 793 866 710 067 677 739 357 470 619 083 070 786 977 436 179 905 552 691 995 129 934 401 848 679 192 002 975 943 340 495 082 362 755 929 370 964 902 425 100 717 664 463 445 544 242 858 886 718 75(10)
Spaces were used to group digits: for binary, by 4, for decimal, by 3.