64bit IEEE 754: Decimal ↗ Double Precision Floating Point Binary: 84 688 897 866 048 Convert the Number to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard, From a Base Ten Decimal System Number

Number 84 688 897 866 048(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)

1. 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;
  • 84 688 897 866 048 ÷ 2 = 42 344 448 933 024 + 0;
  • 42 344 448 933 024 ÷ 2 = 21 172 224 466 512 + 0;
  • 21 172 224 466 512 ÷ 2 = 10 586 112 233 256 + 0;
  • 10 586 112 233 256 ÷ 2 = 5 293 056 116 628 + 0;
  • 5 293 056 116 628 ÷ 2 = 2 646 528 058 314 + 0;
  • 2 646 528 058 314 ÷ 2 = 1 323 264 029 157 + 0;
  • 1 323 264 029 157 ÷ 2 = 661 632 014 578 + 1;
  • 661 632 014 578 ÷ 2 = 330 816 007 289 + 0;
  • 330 816 007 289 ÷ 2 = 165 408 003 644 + 1;
  • 165 408 003 644 ÷ 2 = 82 704 001 822 + 0;
  • 82 704 001 822 ÷ 2 = 41 352 000 911 + 0;
  • 41 352 000 911 ÷ 2 = 20 676 000 455 + 1;
  • 20 676 000 455 ÷ 2 = 10 338 000 227 + 1;
  • 10 338 000 227 ÷ 2 = 5 169 000 113 + 1;
  • 5 169 000 113 ÷ 2 = 2 584 500 056 + 1;
  • 2 584 500 056 ÷ 2 = 1 292 250 028 + 0;
  • 1 292 250 028 ÷ 2 = 646 125 014 + 0;
  • 646 125 014 ÷ 2 = 323 062 507 + 0;
  • 323 062 507 ÷ 2 = 161 531 253 + 1;
  • 161 531 253 ÷ 2 = 80 765 626 + 1;
  • 80 765 626 ÷ 2 = 40 382 813 + 0;
  • 40 382 813 ÷ 2 = 20 191 406 + 1;
  • 20 191 406 ÷ 2 = 10 095 703 + 0;
  • 10 095 703 ÷ 2 = 5 047 851 + 1;
  • 5 047 851 ÷ 2 = 2 523 925 + 1;
  • 2 523 925 ÷ 2 = 1 261 962 + 1;
  • 1 261 962 ÷ 2 = 630 981 + 0;
  • 630 981 ÷ 2 = 315 490 + 1;
  • 315 490 ÷ 2 = 157 745 + 0;
  • 157 745 ÷ 2 = 78 872 + 1;
  • 78 872 ÷ 2 = 39 436 + 0;
  • 39 436 ÷ 2 = 19 718 + 0;
  • 19 718 ÷ 2 = 9 859 + 0;
  • 9 859 ÷ 2 = 4 929 + 1;
  • 4 929 ÷ 2 = 2 464 + 1;
  • 2 464 ÷ 2 = 1 232 + 0;
  • 1 232 ÷ 2 = 616 + 0;
  • 616 ÷ 2 = 308 + 0;
  • 308 ÷ 2 = 154 + 0;
  • 154 ÷ 2 = 77 + 0;
  • 77 ÷ 2 = 38 + 1;
  • 38 ÷ 2 = 19 + 0;
  • 19 ÷ 2 = 9 + 1;
  • 9 ÷ 2 = 4 + 1;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

2. Construct the base 2 representation of the positive number.

Take all the remainders starting from the bottom of the list constructed above.


84 688 897 866 048(10) =


100 1101 0000 0110 0010 1011 1010 1100 0111 1001 0100 0000(2)


3. Normalize the binary representation of the number.

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


84 688 897 866 048(10) =


100 1101 0000 0110 0010 1011 1010 1100 0111 1001 0100 0000(2) =


100 1101 0000 0110 0010 1011 1010 1100 0111 1001 0100 0000(2) × 20 =


1.0011 0100 0001 1000 1010 1110 1011 0001 1110 0101 0000 00(2) × 246


4. 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): 46


Mantissa (not normalized):
1.0011 0100 0001 1000 1010 1110 1011 0001 1110 0101 0000 00


5. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


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


46 + 2(11-1) - 1 =


(46 + 1 023)(10) =


1 069(10)


6. 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 069 ÷ 2 = 534 + 1;
  • 534 ÷ 2 = 267 + 0;
  • 267 ÷ 2 = 133 + 1;
  • 133 ÷ 2 = 66 + 1;
  • 66 ÷ 2 = 33 + 0;
  • 33 ÷ 2 = 16 + 1;
  • 16 ÷ 2 = 8 + 0;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

7. Construct the base 2 representation of the adjusted exponent.

Take all the remainders starting from the bottom of the list constructed above.


Exponent (adjusted) =


1069(10) =


100 0010 1101(2)


8. 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 adding the necessary number of zeros to the right.


Mantissa (normalized) =


1. 00 1101 0000 0110 0010 1011 1010 1100 0111 1001 0100 0000 00 0000 =


0011 0100 0001 1000 1010 1110 1011 0001 1110 0101 0000 0000 0000


9. 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 0010 1101


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


The base ten decimal number 84 688 897 866 048 converted and written in 64 bit double precision IEEE 754 binary floating point representation:
0 - 100 0010 1101 - 0011 0100 0001 1000 1010 1110 1011 0001 1110 0101 0000 0000 0000

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