All 0 exponent and non-zero mantissa means a number is denormalized in IEEE 754 - no implied 1 before ".". Also, bias for denormalized numbers is "-126" and that for normalized is "-127".
IEEE 754 Single precision
Exponent |
Sign |
Mantissa |
Value |
Remark |
---|
00000000 |
0 |
00...0 |
0 |
Special value 0 |
00000001 |
0 |
00...0 |
$1.0 \times 2^{-126}$ |
Smallest positive normalized number |
00000000 |
0 |
00...001 |
$1.0 \times 2^{-149}$ |
Smallest positive denormalized number |
11111111 |
0 |
100..0
...
111..1 |
QNAN |
When exponent is all 1's number is NAN. Mantissa here can be any non-zero value. If mantissa starts with 1, it is QNaN meaning the value is indeterminate. |
11111111 |
0 |
000...1
0111...1 |
SNaN |
Same as above but mantissa bits starting with 0 and used to represent Signalling NaN which are used to represent invalid numbers. |
11111111 |
0 |
000...000 |
$+\infty$ |
Positive infinity |
11111110 |
0 |
1111...1 |
$(2 - 2^{-23}) \times 2^{127}$ |
Largest normalized number |
00000000 |
0 |
111...111 |
$\left(1 - 2^{-23}\right ) \times 2^{-126}$ |
Largest de-normalized number |
Similarly, we can see for negative numbers.
Ref: http://steve.hollasch.net/cgindex/coding/ieeefloat.html