32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 0.000 213 384 628 292 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 213 384 628 292(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 213 384 628 292.

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 213 384 628 292 × 2 = 0 + 0.000 426 769 256 584;
  • 2) 0.000 426 769 256 584 × 2 = 0 + 0.000 853 538 513 168;
  • 3) 0.000 853 538 513 168 × 2 = 0 + 0.001 707 077 026 336;
  • 4) 0.001 707 077 026 336 × 2 = 0 + 0.003 414 154 052 672;
  • 5) 0.003 414 154 052 672 × 2 = 0 + 0.006 828 308 105 344;
  • 6) 0.006 828 308 105 344 × 2 = 0 + 0.013 656 616 210 688;
  • 7) 0.013 656 616 210 688 × 2 = 0 + 0.027 313 232 421 376;
  • 8) 0.027 313 232 421 376 × 2 = 0 + 0.054 626 464 842 752;
  • 9) 0.054 626 464 842 752 × 2 = 0 + 0.109 252 929 685 504;
  • 10) 0.109 252 929 685 504 × 2 = 0 + 0.218 505 859 371 008;
  • 11) 0.218 505 859 371 008 × 2 = 0 + 0.437 011 718 742 016;
  • 12) 0.437 011 718 742 016 × 2 = 0 + 0.874 023 437 484 032;
  • 13) 0.874 023 437 484 032 × 2 = 1 + 0.748 046 874 968 064;
  • 14) 0.748 046 874 968 064 × 2 = 1 + 0.496 093 749 936 128;
  • 15) 0.496 093 749 936 128 × 2 = 0 + 0.992 187 499 872 256;
  • 16) 0.992 187 499 872 256 × 2 = 1 + 0.984 374 999 744 512;
  • 17) 0.984 374 999 744 512 × 2 = 1 + 0.968 749 999 489 024;
  • 18) 0.968 749 999 489 024 × 2 = 1 + 0.937 499 998 978 048;
  • 19) 0.937 499 998 978 048 × 2 = 1 + 0.874 999 997 956 096;
  • 20) 0.874 999 997 956 096 × 2 = 1 + 0.749 999 995 912 192;
  • 21) 0.749 999 995 912 192 × 2 = 1 + 0.499 999 991 824 384;
  • 22) 0.499 999 991 824 384 × 2 = 0 + 0.999 999 983 648 768;
  • 23) 0.999 999 983 648 768 × 2 = 1 + 0.999 999 967 297 536;
  • 24) 0.999 999 967 297 536 × 2 = 1 + 0.999 999 934 595 072;
  • 25) 0.999 999 934 595 072 × 2 = 1 + 0.999 999 869 190 144;
  • 26) 0.999 999 869 190 144 × 2 = 1 + 0.999 999 738 380 288;
  • 27) 0.999 999 738 380 288 × 2 = 1 + 0.999 999 476 760 576;
  • 28) 0.999 999 476 760 576 × 2 = 1 + 0.999 998 953 521 152;
  • 29) 0.999 998 953 521 152 × 2 = 1 + 0.999 997 907 042 304;
  • 30) 0.999 997 907 042 304 × 2 = 1 + 0.999 995 814 084 608;
  • 31) 0.999 995 814 084 608 × 2 = 1 + 0.999 991 628 169 216;
  • 32) 0.999 991 628 169 216 × 2 = 1 + 0.999 983 256 338 432;
  • 33) 0.999 983 256 338 432 × 2 = 1 + 0.999 966 512 676 864;
  • 34) 0.999 966 512 676 864 × 2 = 1 + 0.999 933 025 353 728;
  • 35) 0.999 933 025 353 728 × 2 = 1 + 0.999 866 050 707 456;
  • 36) 0.999 866 050 707 456 × 2 = 1 + 0.999 732 101 414 912;

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 213 384 628 292(10) =


0.0000 0000 0000 1101 1111 1011 1111 1111 1111(2)


5. Positive number before normalization:

0.000 213 384 628 292(10) =


0.0000 0000 0000 1101 1111 1011 1111 1111 1111(2)

6. Normalize the binary representation of the number.

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


0.000 213 384 628 292(10) =


0.0000 0000 0000 1101 1111 1011 1111 1111 1111(2) =


0.0000 0000 0000 1101 1111 1011 1111 1111 1111(2) × 20 =


1.1011 1111 0111 1111 1111 111(2) × 2-13


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


Mantissa (not normalized):
1.1011 1111 0111 1111 1111 111


8. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


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


(-13 + 127)(10) =


114(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;
  • 114 ÷ 2 = 57 + 0;
  • 57 ÷ 2 = 28 + 1;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 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) =


114(10) =


0111 0010(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. 101 1111 1011 1111 1111 1111 =


101 1111 1011 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) =
0111 0010


Mantissa (23 bits) =
101 1111 1011 1111 1111 1111


The base ten decimal number 0.000 213 384 628 292 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 0111 0010 - 101 1111 1011 1111 1111 1111

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