1 - 110 1111 1111 - 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard Converted to Decimal
1 - 110 1111 1111 - 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001: 64 bit double precision IEEE 754 binary floating point representation standard converted to decimal
What are the steps to convert
1 - 110 1111 1111 - 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001, 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.
1
The next 11 bits contain the exponent:
110 1111 1111
The last 52 bits contain the mantissa:
0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001
2. Convert the exponent from binary (from base 2) to decimal (in base 10).
The exponent is allways a positive integer.
110 1111 1111(2) =
1 × 210 + 1 × 29 + 0 × 28 + 1 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 1 × 23 + 1 × 22 + 1 × 21 + 1 × 20 =
1,024 + 512 + 0 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 =
1,024 + 512 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 =
1,791(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 = 1,791 - 1023 = 768
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).
0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001(2) =
0 × 2-1 + 0 × 2-2 + 1 × 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 + 0 × 2-25 + 0 × 2-26 + 0 × 2-27 + 0 × 2-28 + 0 × 2-29 + 0 × 2-30 + 0 × 2-31 + 0 × 2-32 + 0 × 2-33 + 0 × 2-34 + 0 × 2-35 + 0 × 2-36 + 0 × 2-37 + 0 × 2-38 + 0 × 2-39 + 0 × 2-40 + 0 × 2-41 + 0 × 2-42 + 0 × 2-43 + 0 × 2-44 + 0 × 2-45 + 0 × 2-46 + 1 × 2-47 + 1 × 2-48 + 0 × 2-49 + 0 × 2-50 + 0 × 2-51 + 1 × 2-52 =
0 + 0 + 0.125 + 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 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 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.000 000 000 000 000 222 044 604 925 031 308 084 726 333 618 164 062 5 =
0.125 + 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 000 000 000 222 044 604 925 031 308 084 726 333 618 164 062 5 =
0.125 000 000 000 010 880 185 641 326 534 096 151 590 347 290 039 062 5(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)1 × (1 + 0.125 000 000 000 010 880 185 641 326 534 096 151 590 347 290 039 062 5) × 2768 =
-1.125 000 000 000 010 880 185 641 326 534 096 151 590 347 290 039 062 5 × 2768 = ...
= -1 746 582 853 838 314 443 727 657 674 356 417 731 394 132 026 429 782 737 377 830 115 935 888 069 659 699 909 231 330 946 593 176 431 715 554 649 948 072 698 323 179 528 515 917 292 172 008 908 638 664 057 504 883 983 510 664 961 894 355 435 488 949 062 417 783 346 672 734 637 382 827 007 194 762 787 684 352
1 - 110 1111 1111 - 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001, a 64 bit double precision IEEE 754 binary floating point representation standard to a decimal number, written in base ten (double) = -1 746 582 853 838 314 443 727 657 674 356 417 731 394 132 026 429 782 737 377 830 115 935 888 069 659 699 909 231 330 946 593 176 431 715 554 649 948 072 698 323 179 528 515 917 292 172 008 908 638 664 057 504 883 983 510 664 961 894 355 435 488 949 062 417 783 346 672 734 637 382 827 007 194 762 787 684 352(10)
Spaces were used to group digits: for binary, by 4, for decimal, by 3.