0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard
Convert decimal 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1(10) to 64 bit double precision IEEE 754 binary floating point representation standard (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)
What are the steps to convert decimal number
0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1(10) to 64 bit double precision IEEE 754 binary floating point representation (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)
1. First, convert to binary (in base 2) the integer part: 0.
Divide the number repeatedly by 2.
Keep track of each remainder.
We stop when we get a quotient that is equal to zero.
- division = quotient + remainder;
- 0 ÷ 2 = 0 + 0;
2. Construct the base 2 representation of the integer part of the number.
Take all the remainders starting from the bottom of the list constructed above.
0(10) =
0(2)
3. Convert to binary (base 2) the fractional part: 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1.
Multiply it repeatedly by 2.
Keep track of each integer part of the results.
Stop when we get a fractional part that is equal to zero.
- #) multiplying = integer + fractional part;
- 1) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 624 2;
- 2) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 624 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 248 4;
- 3) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 248 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 496 8;
- 4) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 496 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 993 6;
- 5) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 993 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 987 2;
- 6) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 987 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 974 4;
- 7) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 974 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 948 8;
- 8) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 948 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 897 6;
- 9) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 897 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 795 2;
- 10) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 795 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 311 590 4;
- 11) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 311 590 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 623 180 8;
- 12) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 623 180 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 246 361 6;
- 13) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 246 361 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 492 723 2;
- 14) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 492 723 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 985 446 4;
- 15) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 985 446 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 970 892 8;
- 16) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 970 892 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 941 785 6;
- 17) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 941 785 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 883 571 2;
- 18) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 883 571 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 767 142 4;
- 19) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 767 142 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 534 284 8;
- 20) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 534 284 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 311 068 569 6;
- 21) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 311 068 569 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 622 137 139 2;
- 22) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 622 137 139 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 244 274 278 4;
- 23) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 244 274 278 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 488 548 556 8;
- 24) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 488 548 556 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 977 097 113 6;
- 25) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 977 097 113 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 954 194 227 2;
- 26) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 954 194 227 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 908 388 454 4;
- 27) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 908 388 454 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 816 776 908 8;
- 28) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 816 776 908 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 633 553 817 6;
- 29) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 633 553 817 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 267 107 635 2;
- 30) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 655 267 107 635 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 310 534 215 270 4;
- 31) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 310 534 215 270 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 621 068 430 540 8;
- 32) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 621 068 430 540 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 242 136 861 081 6;
- 33) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 242 136 861 081 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 484 273 722 163 2;
- 34) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 484 273 722 163 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 968 547 444 326 4;
- 35) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 968 547 444 326 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 937 094 888 652 8;
- 36) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 937 094 888 652 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 874 189 777 305 6;
- 37) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 874 189 777 305 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 748 379 554 611 2;
- 38) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 748 379 554 611 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 496 759 109 222 4;
- 39) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 496 759 109 222 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 654 993 518 218 444 8;
- 40) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 654 993 518 218 444 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 309 987 036 436 889 6;
- 41) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 309 987 036 436 889 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 619 974 072 873 779 2;
- 42) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 619 974 072 873 779 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 239 948 145 747 558 4;
- 43) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 239 948 145 747 558 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 479 896 291 495 116 8;
- 44) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 479 896 291 495 116 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 959 792 582 990 233 6;
- 45) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 959 792 582 990 233 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 919 585 165 980 467 2;
- 46) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 665 919 585 165 980 467 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 839 170 331 960 934 4;
- 47) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 331 839 170 331 960 934 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 678 340 663 921 868 8;
- 48) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 663 678 340 663 921 868 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 356 681 327 843 737 6;
- 49) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 327 356 681 327 843 737 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 654 713 362 655 687 475 2;
- 50) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 654 713 362 655 687 475 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 309 426 725 311 374 950 4;
- 51) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 309 426 725 311 374 950 4 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 618 853 450 622 749 900 8;
- 52) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 618 853 450 622 749 900 8 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 237 706 901 245 499 801 6;
- 53) 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 237 706 901 245 499 801 6 × 2 = 0 + 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 475 413 802 490 999 603 2;
- 54) 0.666 666 666 666 666 666 666 666 666 666 666 666 666 666 666 475 413 802 490 999 603 2 × 2 = 1 + 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 332 950 827 604 981 999 206 4;
We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit) and at least one integer that was different from zero => FULL STOP (Losing precision - the converted number we get in the end will be just a very good approximation of the initial one).
4. Construct the base 2 representation of the fractional part of the number.
Take all the integer parts of the multiplying operations, starting from the top of the constructed list above:
0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1(10) =
0.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 01(2)
5. Positive number before normalization:
0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1(10) =
0.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 01(2)
6. Normalize the binary representation of the number.
Shift the decimal mark 2 positions to the right, so that only one non zero digit remains to the left of it:
0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1(10) =
0.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 01(2) =
0.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 01(2) × 20 =
1.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101(2) × 2-2
7. Up to this moment, there are the following elements that would feed into the 64 bit double precision IEEE 754 binary floating point representation:
Sign 0 (a positive number)
Exponent (unadjusted): -2
Mantissa (not normalized):
1.0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101
8. Adjust the exponent.
Use the 11 bit excess/bias notation:
Exponent (adjusted) =
Exponent (unadjusted) + 2(11-1) - 1 =
-2 + 2(11-1) - 1 =
(-2 + 1 023)(10) =
1 021(10)
9. Convert the adjusted exponent from the decimal (base 10) to 11 bit binary.
Use the same technique of repeatedly dividing by 2:
- division = quotient + remainder;
- 1 021 ÷ 2 = 510 + 1;
- 510 ÷ 2 = 255 + 0;
- 255 ÷ 2 = 127 + 1;
- 127 ÷ 2 = 63 + 1;
- 63 ÷ 2 = 31 + 1;
- 31 ÷ 2 = 15 + 1;
- 15 ÷ 2 = 7 + 1;
- 7 ÷ 2 = 3 + 1;
- 3 ÷ 2 = 1 + 1;
- 1 ÷ 2 = 0 + 1;
10. Construct the base 2 representation of the adjusted exponent.
Take all the remainders starting from the bottom of the list constructed above.
Exponent (adjusted) =
1021(10) =
011 1111 1101(2)
11. Normalize the mantissa.
a) Remove the leading (the leftmost) bit, since it's allways 1, and the decimal point, if the case.
b) Adjust its length to 52 bits, only if necessary (not the case here).
Mantissa (normalized) =
1. 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 =
0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101
12. The three elements that make up the number's 64 bit double precision IEEE 754 binary floating point representation:
Sign (1 bit) =
0 (a positive number)
Exponent (11 bits) =
011 1111 1101
Mantissa (52 bits) =
0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101
Decimal number 0.333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 333 312 1 converted to 64 bit double precision IEEE 754 binary floating point representation:
0 - 011 1111 1101 - 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101 0101