64 Bit IEEE 754 Binary to Double: Convert 1 - 111 0111 0111 - 1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0101 0110, Number Written in 64 Bit Double Precision IEEE 754 Binary Floating Point Standard Representation, to a Base Ten Decimal System Double
1 - 111 0111 0111 - 1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0101 0110: 64 bit double precision IEEE 754 binary floating point standard representation number converted to a base ten decimal system double
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:
111 0111 0111
The last 52 bits contain the mantissa:
1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0101 0110
2. Convert the exponent from binary (from base 2) to decimal (in base 10).
The exponent is allways a positive integer.
111 0111 0111(2) =
1 × 210 + 1 × 29 + 1 × 28 + 0 × 27 + 1 × 26 + 1 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20 =
1,024 + 512 + 256 + 0 + 64 + 32 + 16 + 0 + 4 + 2 + 1 =
1,024 + 512 + 256 + 64 + 32 + 16 + 4 + 2 + 1 =
1,911(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,911 - 1023 = 888
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).
1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0101 0110(2) =
1 × 2-1 + 1 × 2-2 + 0 × 2-3 + 1 × 2-4 + 1 × 2-5 + 0 × 2-6 + 0 × 2-7 + 1 × 2-8 + 0 × 2-9 + 0 × 2-10 + 0 × 2-11 + 0 × 2-12 + 1 × 2-13 + 1 × 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 + 1 × 2-46 + 0 × 2-47 + 1 × 2-48 + 0 × 2-49 + 1 × 2-50 + 1 × 2-51 + 0 × 2-52 =
0.5 + 0.25 + 0 + 0.062 5 + 0.031 25 + 0 + 0 + 0.003 906 25 + 0 + 0 + 0 + 0 + 0.000 122 070 312 5 + 0.000 061 035 156 25 + 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 014 210 854 715 202 003 717 422 485 351 562 5 + 0 + 0.000 000 000 000 003 552 713 678 800 500 929 355 621 337 890 625 + 0 + 0.000 000 000 000 000 888 178 419 700 125 232 338 905 334 472 656 25 + 0.000 000 000 000 000 444 089 209 850 062 616 169 452 667 236 328 125 + 0 =
0.5 + 0.25 + 0.062 5 + 0.031 25 + 0.003 906 25 + 0.000 122 070 312 5 + 0.000 061 035 156 25 + 0.000 000 000 000 014 210 854 715 202 003 717 422 485 351 562 5 + 0.000 000 000 000 003 552 713 678 800 500 929 355 621 337 890 625 + 0.000 000 000 000 000 888 178 419 700 125 232 338 905 334 472 656 25 + 0.000 000 000 000 000 444 089 209 850 062 616 169 452 667 236 328 125 =
0.847 839 355 468 769 095 836 023 552 692 495 286 464 691 162 109 375(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.847 839 355 468 769 095 836 023 552 692 495 286 464 691 162 109 375) × 2888 =
-1.847 839 355 468 769 095 836 023 552 692 495 286 464 691 162 109 375 × 2888 = ...
= -3 813 294 632 466 418 890 668 771 255 642 844 034 997 445 852 170 619 421 511 464 608 109 573 340 544 183 767 005 077 611 685 777 553 008 603 871 583 113 749 627 697 334 966 518 599 645 227 855 892 933 165 223 890 478 001 170 607 175 311 153 998 128 164 564 630 999 519 996 998 635 675 943 383 480 851 875 634 211 748 572 993 881 000 390 081 883 349 712 896
1 - 111 0111 0111 - 1101 1001 0000 1100 0000 0000 0000 0000 0000 0000 0000 0101 0110 converted from a 64 bit double precision IEEE 754 binary floating point standard representation number to a decimal system number, written in base ten (double) = -3 813 294 632 466 418 890 668 771 255 642 844 034 997 445 852 170 619 421 511 464 608 109 573 340 544 183 767 005 077 611 685 777 553 008 603 871 583 113 749 627 697 334 966 518 599 645 227 855 892 933 165 223 890 478 001 170 607 175 311 153 998 128 164 564 630 999 519 996 998 635 675 943 383 480 851 875 634 211 748 572 993 881 000 390 081 883 349 712 896(10)
Spaces were used to group digits: for binary, by 4, for decimal, by 3.