Convert the Number 1 234 567 890 123 456.124 to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard, From a Base Ten Decimal System Number. Detailed Explanations

Number 1 234 567 890 123 456.124(10) converted and written in 64 bit double precision IEEE 754 binary floating point representation (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)

The first steps we'll go through to make the conversion:

Convert to binary (to base 2) the integer part of the number.

Convert to binary the fractional part of the number.


1. First, convert to binary (in base 2) the integer part: 1 234 567 890 123 456.
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;
  • 1 234 567 890 123 456 ÷ 2 = 617 283 945 061 728 + 0;
  • 617 283 945 061 728 ÷ 2 = 308 641 972 530 864 + 0;
  • 308 641 972 530 864 ÷ 2 = 154 320 986 265 432 + 0;
  • 154 320 986 265 432 ÷ 2 = 77 160 493 132 716 + 0;
  • 77 160 493 132 716 ÷ 2 = 38 580 246 566 358 + 0;
  • 38 580 246 566 358 ÷ 2 = 19 290 123 283 179 + 0;
  • 19 290 123 283 179 ÷ 2 = 9 645 061 641 589 + 1;
  • 9 645 061 641 589 ÷ 2 = 4 822 530 820 794 + 1;
  • 4 822 530 820 794 ÷ 2 = 2 411 265 410 397 + 0;
  • 2 411 265 410 397 ÷ 2 = 1 205 632 705 198 + 1;
  • 1 205 632 705 198 ÷ 2 = 602 816 352 599 + 0;
  • 602 816 352 599 ÷ 2 = 301 408 176 299 + 1;
  • 301 408 176 299 ÷ 2 = 150 704 088 149 + 1;
  • 150 704 088 149 ÷ 2 = 75 352 044 074 + 1;
  • 75 352 044 074 ÷ 2 = 37 676 022 037 + 0;
  • 37 676 022 037 ÷ 2 = 18 838 011 018 + 1;
  • 18 838 011 018 ÷ 2 = 9 419 005 509 + 0;
  • 9 419 005 509 ÷ 2 = 4 709 502 754 + 1;
  • 4 709 502 754 ÷ 2 = 2 354 751 377 + 0;
  • 2 354 751 377 ÷ 2 = 1 177 375 688 + 1;
  • 1 177 375 688 ÷ 2 = 588 687 844 + 0;
  • 588 687 844 ÷ 2 = 294 343 922 + 0;
  • 294 343 922 ÷ 2 = 147 171 961 + 0;
  • 147 171 961 ÷ 2 = 73 585 980 + 1;
  • 73 585 980 ÷ 2 = 36 792 990 + 0;
  • 36 792 990 ÷ 2 = 18 396 495 + 0;
  • 18 396 495 ÷ 2 = 9 198 247 + 1;
  • 9 198 247 ÷ 2 = 4 599 123 + 1;
  • 4 599 123 ÷ 2 = 2 299 561 + 1;
  • 2 299 561 ÷ 2 = 1 149 780 + 1;
  • 1 149 780 ÷ 2 = 574 890 + 0;
  • 574 890 ÷ 2 = 287 445 + 0;
  • 287 445 ÷ 2 = 143 722 + 1;
  • 143 722 ÷ 2 = 71 861 + 0;
  • 71 861 ÷ 2 = 35 930 + 1;
  • 35 930 ÷ 2 = 17 965 + 0;
  • 17 965 ÷ 2 = 8 982 + 1;
  • 8 982 ÷ 2 = 4 491 + 0;
  • 4 491 ÷ 2 = 2 245 + 1;
  • 2 245 ÷ 2 = 1 122 + 1;
  • 1 122 ÷ 2 = 561 + 0;
  • 561 ÷ 2 = 280 + 1;
  • 280 ÷ 2 = 140 + 0;
  • 140 ÷ 2 = 70 + 0;
  • 70 ÷ 2 = 35 + 0;
  • 35 ÷ 2 = 17 + 1;
  • 17 ÷ 2 = 8 + 1;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

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.


1 234 567 890 123 456(10) =


100 0110 0010 1101 0101 0011 1100 1000 1010 1011 1010 1100 0000(2)


3. Convert to binary (base 2) the fractional part: 0.124.

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.124 × 2 = 0 + 0.248;
  • 2) 0.248 × 2 = 0 + 0.496;
  • 3) 0.496 × 2 = 0 + 0.992;
  • 4) 0.992 × 2 = 1 + 0.984;
  • 5) 0.984 × 2 = 1 + 0.968;
  • 6) 0.968 × 2 = 1 + 0.936;
  • 7) 0.936 × 2 = 1 + 0.872;
  • 8) 0.872 × 2 = 1 + 0.744;
  • 9) 0.744 × 2 = 1 + 0.488;
  • 10) 0.488 × 2 = 0 + 0.976;
  • 11) 0.976 × 2 = 1 + 0.952;
  • 12) 0.952 × 2 = 1 + 0.904;
  • 13) 0.904 × 2 = 1 + 0.808;
  • 14) 0.808 × 2 = 1 + 0.616;
  • 15) 0.616 × 2 = 1 + 0.232;
  • 16) 0.232 × 2 = 0 + 0.464;
  • 17) 0.464 × 2 = 0 + 0.928;
  • 18) 0.928 × 2 = 1 + 0.856;
  • 19) 0.856 × 2 = 1 + 0.712;
  • 20) 0.712 × 2 = 1 + 0.424;
  • 21) 0.424 × 2 = 0 + 0.848;
  • 22) 0.848 × 2 = 1 + 0.696;
  • 23) 0.696 × 2 = 1 + 0.392;
  • 24) 0.392 × 2 = 0 + 0.784;
  • 25) 0.784 × 2 = 1 + 0.568;
  • 26) 0.568 × 2 = 1 + 0.136;
  • 27) 0.136 × 2 = 0 + 0.272;
  • 28) 0.272 × 2 = 0 + 0.544;
  • 29) 0.544 × 2 = 1 + 0.088;
  • 30) 0.088 × 2 = 0 + 0.176;
  • 31) 0.176 × 2 = 0 + 0.352;
  • 32) 0.352 × 2 = 0 + 0.704;
  • 33) 0.704 × 2 = 1 + 0.408;
  • 34) 0.408 × 2 = 0 + 0.816;
  • 35) 0.816 × 2 = 1 + 0.632;
  • 36) 0.632 × 2 = 1 + 0.264;
  • 37) 0.264 × 2 = 0 + 0.528;
  • 38) 0.528 × 2 = 1 + 0.056;
  • 39) 0.056 × 2 = 0 + 0.112;
  • 40) 0.112 × 2 = 0 + 0.224;
  • 41) 0.224 × 2 = 0 + 0.448;
  • 42) 0.448 × 2 = 0 + 0.896;
  • 43) 0.896 × 2 = 1 + 0.792;
  • 44) 0.792 × 2 = 1 + 0.584;
  • 45) 0.584 × 2 = 1 + 0.168;
  • 46) 0.168 × 2 = 0 + 0.336;
  • 47) 0.336 × 2 = 0 + 0.672;
  • 48) 0.672 × 2 = 1 + 0.344;
  • 49) 0.344 × 2 = 0 + 0.688;
  • 50) 0.688 × 2 = 1 + 0.376;
  • 51) 0.376 × 2 = 0 + 0.752;
  • 52) 0.752 × 2 = 1 + 0.504;
  • 53) 0.504 × 2 = 1 + 0.008;

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...)


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.124(10) =


0.0001 1111 1011 1110 0111 0110 1100 1000 1011 0100 0011 1001 0101 1(2)


5. Positive number before normalization:

1 234 567 890 123 456.124(10) =


100 0110 0010 1101 0101 0011 1100 1000 1010 1011 1010 1100 0000.0001 1111 1011 1110 0111 0110 1100 1000 1011 0100 0011 1001 0101 1(2)


The last steps we'll go through to make the conversion:

Normalize the binary representation of the number.

Adjust the exponent.

Convert the adjusted exponent from the decimal (base 10) to 8 bit binary.

Normalize the mantissa.


6. Normalize the binary representation of the number.

Shift the decimal mark 50 positions to the left, so that only one non zero digit remains to the left of it:


1 234 567 890 123 456.124(10) =


100 0110 0010 1101 0101 0011 1100 1000 1010 1011 1010 1100 0000.0001 1111 1011 1110 0111 0110 1100 1000 1011 0100 0011 1001 0101 1(2) =


100 0110 0010 1101 0101 0011 1100 1000 1010 1011 1010 1100 0000.0001 1111 1011 1110 0111 0110 1100 1000 1011 0100 0011 1001 0101 1(2) × 20 =


1.0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000 0111 1110 1111 1001 1101 1011 0010 0010 1101 0000 1110 0101 011(2) × 250


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): 50


Mantissa (not normalized):
1.0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000 0111 1110 1111 1001 1101 1011 0010 0010 1101 0000 1110 0101 011


8. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


Exponent (unadjusted) + 2(11-1) - 1 =


50 + 2(11-1) - 1 =


(50 + 1 023)(10) =


1 073(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 073 ÷ 2 = 536 + 1;
  • 536 ÷ 2 = 268 + 0;
  • 268 ÷ 2 = 134 + 0;
  • 134 ÷ 2 = 67 + 0;
  • 67 ÷ 2 = 33 + 1;
  • 33 ÷ 2 = 16 + 1;
  • 16 ÷ 2 = 8 + 0;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 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) =


1073(10) =


100 0011 0001(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, by removing the excess bits, from the right (if any of the excess bits is set on 1, we are losing precision...).


Mantissa (normalized) =


1. 0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000 011 1111 0111 1100 1110 1101 1001 0001 0110 1000 0111 0010 1011 =


0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000


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) =
100 0011 0001


Mantissa (52 bits) =
0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000


The base ten decimal number 1 234 567 890 123 456.124 converted and written in 64 bit double precision IEEE 754 binary floating point representation:
0 - 100 0011 0001 - 0001 1000 1011 0101 0100 1111 0010 0010 1010 1110 1011 0000 0000

(64 bits IEEE 754)

Number 1 234 567 890 123 456.123 converted from decimal system (base 10) to 64 bit double precision IEEE 754 binary floating point representation = ?

Number 1 234 567 890 123 456.125 converted from decimal system (base 10) to 64 bit double precision IEEE 754 binary floating point representation = ?

Convert to 64 bit double precision IEEE 754 binary floating point representation standard

A number in 64 bit double precision IEEE 754 binary floating point standard representation requires three building elements: sign (it takes 1 bit and it's either 0 for positive or 1 for negative numbers), exponent (11 bits), mantissa (52 bits)

The latest decimal numbers converted from base ten to 64 bit double precision IEEE 754 floating point binary standard representation

Number 1 234 567 890 123 456.124 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:32 UTC (GMT)
Number -21.896 2 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 29.200 06 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number -81 869.602 684 384 910 389 780 998 21 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 9 666 517 233 162 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 2.343 423 423 434 234 239 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 1 152 921 504 606 847 408 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number -2.211 829 052 383 358 300 119 548 661 699 653 280 265 920 329 838 991 165 161 132 4 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 37 994 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
Number 1 628 681 051.537 63 converted from decimal system (written in base ten) to 64 bit double precision IEEE 754 binary floating point representation standard Sep 28 00:31 UTC (GMT)
All base ten decimal numbers converted to 64 bit double precision IEEE 754 binary floating point

How to convert numbers from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 64 bit double precision IEEE 754 binary floating point:

Example: convert the negative number -31.640 215 from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point:

Available Base Conversions Between Decimal and Binary Systems

Conversions Between Decimal System Numbers (Written in Base Ten) and Binary System Numbers (Base Two and Computer Representation):


1. Integer -> Binary

2. Decimal -> Binary

3. Binary -> Integer

4. Binary -> Decimal