How to convert 32 bit single precision IEEE 754 binary floating point:
0 - 0000 0000 - 000 0000 0000 0000 0011 0100.
1. Identify the elements that make up the binary representation of the number:
First bit (the leftmost) indicates the sign,
1 = negative, 0 = positive.
The next 8 bits contain the exponent:
0000 0000
The last 23 bits contain the mantissa:
000 0000 0000 0000 0011 0100
Notice that all the exponent bits are on 0 (clear) and at least one of the mantissa bits is on 1 (set).
This is one of the reserved bitpatterns of the special values of: Denormalized.
Denormalized numbers are too small to be correctly represented so they approximate to zero. Depending on the sign bit, -0 and +0 are two distinct values though they both compare as equal (0).
Proof:
2. Convert the exponent, that is allways a positive integer, from binary (base 2) to decimal (base 10):
0000 0000(2) =
0 × 27 + 0 × 26 + 0 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 0 × 21 + 0 × 20 =
0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 =
0(10)
3. Adjust the exponent, subtract the excess bits, 2(8 - 1) - 1 = 127, that is due to the 8 bit excess/bias notation:
Exponent adjusted = 0 - 127 = -127
4. Convert the mantissa, that represents the number's fractional part (the excess beyond the number's integer part, comma delimited), from binary (base 2) to decimal (base 10):
000 0000 0000 0000 0011 0100(2) =
0 × 2-1 + 0 × 2-2 + 0 × 2-3 + 0 × 2-4 + 0 × 2-5 + 0 × 2-6 + 0 × 2-7 + 0 × 2-8 + 0 × 2-9 + 0 × 2-10 + 0 × 2-11 + 0 × 2-12 + 0 × 2-13 + 0 × 2-14 + 0 × 2-15 + 0 × 2-16 + 0 × 2-17 + 1 × 2-18 + 1 × 2-19 + 0 × 2-20 + 1 × 2-21 + 0 × 2-22 + 0 × 2-23 =
0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0.000 003 814 697 265 625 + 0.000 001 907 348 632 812 5 + 0 + 0.000 000 476 837 158 203 125 + 0 + 0 =
0.000 003 814 697 265 625 + 0.000 001 907 348 632 812 5 + 0.000 000 476 837 158 203 125 =
0.000 006 198 883 056 640 625(10)
Conclusion: