32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 0.000 000 119 209 289 52 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 0.000 000 119 209 289 52(10) converted and written in 32 bit single precision IEEE 754 binary floating point representation (1 bit for sign, 8 bits for exponent, 23 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.000 000 119 209 289 52.

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.000 000 119 209 289 52 × 2 = 0 + 0.000 000 238 418 579 04;
  • 2) 0.000 000 238 418 579 04 × 2 = 0 + 0.000 000 476 837 158 08;
  • 3) 0.000 000 476 837 158 08 × 2 = 0 + 0.000 000 953 674 316 16;
  • 4) 0.000 000 953 674 316 16 × 2 = 0 + 0.000 001 907 348 632 32;
  • 5) 0.000 001 907 348 632 32 × 2 = 0 + 0.000 003 814 697 264 64;
  • 6) 0.000 003 814 697 264 64 × 2 = 0 + 0.000 007 629 394 529 28;
  • 7) 0.000 007 629 394 529 28 × 2 = 0 + 0.000 015 258 789 058 56;
  • 8) 0.000 015 258 789 058 56 × 2 = 0 + 0.000 030 517 578 117 12;
  • 9) 0.000 030 517 578 117 12 × 2 = 0 + 0.000 061 035 156 234 24;
  • 10) 0.000 061 035 156 234 24 × 2 = 0 + 0.000 122 070 312 468 48;
  • 11) 0.000 122 070 312 468 48 × 2 = 0 + 0.000 244 140 624 936 96;
  • 12) 0.000 244 140 624 936 96 × 2 = 0 + 0.000 488 281 249 873 92;
  • 13) 0.000 488 281 249 873 92 × 2 = 0 + 0.000 976 562 499 747 84;
  • 14) 0.000 976 562 499 747 84 × 2 = 0 + 0.001 953 124 999 495 68;
  • 15) 0.001 953 124 999 495 68 × 2 = 0 + 0.003 906 249 998 991 36;
  • 16) 0.003 906 249 998 991 36 × 2 = 0 + 0.007 812 499 997 982 72;
  • 17) 0.007 812 499 997 982 72 × 2 = 0 + 0.015 624 999 995 965 44;
  • 18) 0.015 624 999 995 965 44 × 2 = 0 + 0.031 249 999 991 930 88;
  • 19) 0.031 249 999 991 930 88 × 2 = 0 + 0.062 499 999 983 861 76;
  • 20) 0.062 499 999 983 861 76 × 2 = 0 + 0.124 999 999 967 723 52;
  • 21) 0.124 999 999 967 723 52 × 2 = 0 + 0.249 999 999 935 447 04;
  • 22) 0.249 999 999 935 447 04 × 2 = 0 + 0.499 999 999 870 894 08;
  • 23) 0.499 999 999 870 894 08 × 2 = 0 + 0.999 999 999 741 788 16;
  • 24) 0.999 999 999 741 788 16 × 2 = 1 + 0.999 999 999 483 576 32;
  • 25) 0.999 999 999 483 576 32 × 2 = 1 + 0.999 999 998 967 152 64;
  • 26) 0.999 999 998 967 152 64 × 2 = 1 + 0.999 999 997 934 305 28;
  • 27) 0.999 999 997 934 305 28 × 2 = 1 + 0.999 999 995 868 610 56;
  • 28) 0.999 999 995 868 610 56 × 2 = 1 + 0.999 999 991 737 221 12;
  • 29) 0.999 999 991 737 221 12 × 2 = 1 + 0.999 999 983 474 442 24;
  • 30) 0.999 999 983 474 442 24 × 2 = 1 + 0.999 999 966 948 884 48;
  • 31) 0.999 999 966 948 884 48 × 2 = 1 + 0.999 999 933 897 768 96;
  • 32) 0.999 999 933 897 768 96 × 2 = 1 + 0.999 999 867 795 537 92;
  • 33) 0.999 999 867 795 537 92 × 2 = 1 + 0.999 999 735 591 075 84;
  • 34) 0.999 999 735 591 075 84 × 2 = 1 + 0.999 999 471 182 151 68;
  • 35) 0.999 999 471 182 151 68 × 2 = 1 + 0.999 998 942 364 303 36;
  • 36) 0.999 998 942 364 303 36 × 2 = 1 + 0.999 997 884 728 606 72;
  • 37) 0.999 997 884 728 606 72 × 2 = 1 + 0.999 995 769 457 213 44;
  • 38) 0.999 995 769 457 213 44 × 2 = 1 + 0.999 991 538 914 426 88;
  • 39) 0.999 991 538 914 426 88 × 2 = 1 + 0.999 983 077 828 853 76;
  • 40) 0.999 983 077 828 853 76 × 2 = 1 + 0.999 966 155 657 707 52;
  • 41) 0.999 966 155 657 707 52 × 2 = 1 + 0.999 932 311 315 415 04;
  • 42) 0.999 932 311 315 415 04 × 2 = 1 + 0.999 864 622 630 830 08;
  • 43) 0.999 864 622 630 830 08 × 2 = 1 + 0.999 729 245 261 660 16;
  • 44) 0.999 729 245 261 660 16 × 2 = 1 + 0.999 458 490 523 320 32;
  • 45) 0.999 458 490 523 320 32 × 2 = 1 + 0.998 916 981 046 640 64;
  • 46) 0.998 916 981 046 640 64 × 2 = 1 + 0.997 833 962 093 281 28;
  • 47) 0.997 833 962 093 281 28 × 2 = 1 + 0.995 667 924 186 562 56;

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.000 000 119 209 289 52(10) =


0.0000 0000 0000 0000 0000 0001 1111 1111 1111 1111 1111 111(2)


5. Positive number before normalization:

0.000 000 119 209 289 52(10) =


0.0000 0000 0000 0000 0000 0001 1111 1111 1111 1111 1111 111(2)

6. Normalize the binary representation of the number.

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


0.000 000 119 209 289 52(10) =


0.0000 0000 0000 0000 0000 0001 1111 1111 1111 1111 1111 111(2) =


0.0000 0000 0000 0000 0000 0001 1111 1111 1111 1111 1111 111(2) × 20 =


1.1111 1111 1111 1111 1111 111(2) × 2-24


7. Up to this moment, there are the following elements that would feed into the 32 bit single precision IEEE 754 binary floating point representation:

Sign 0 (a positive number)


Exponent (unadjusted): -24


Mantissa (not normalized):
1.1111 1111 1111 1111 1111 111


8. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


-24 + 2(8-1) - 1 =


(-24 + 127)(10) =


103(10)


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

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 103 ÷ 2 = 51 + 1;
  • 51 ÷ 2 = 25 + 1;
  • 25 ÷ 2 = 12 + 1;
  • 12 ÷ 2 = 6 + 0;
  • 6 ÷ 2 = 3 + 0;
  • 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) =


103(10) =


0110 0111(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 23 bits, only if necessary (not the case here).


Mantissa (normalized) =


1. 111 1111 1111 1111 1111 1111 =


111 1111 1111 1111 1111 1111


12. The three elements that make up the number's 32 bit single precision IEEE 754 binary floating point representation:

Sign (1 bit) =
0 (a positive number)


Exponent (8 bits) =
0110 0111


Mantissa (23 bits) =
111 1111 1111 1111 1111 1111


The base ten decimal number 0.000 000 119 209 289 52 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 0110 0111 - 111 1111 1111 1111 1111 1111

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