Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture

4-18 Vol. 1
DATA TYPES
4.8.3 Real Number and Non-number Encodings
A variety of real numbers and special values can be encoded in the IEEE Standard
754 floating-point format. These numbers and values are generally divided into the
following classes:
Signed zeros
Denormalized finite numbers
Normalized finite numbers
Signed infinities
NaNs
Indefinite numbers
(The term NaN stands for “Not a Number.”)
Figure 4-12 shows how the encodings for these numbers and non-numbers fit into
the real number continuum. The encodings shown here are for the IEEE single-preci-
sion floating-point format. The term “S” indicates the sign bit, “E” the biased expo-
nent, and “Sig” the significand. The exponent values are given in decimal. The
integer bit is shown for the significands, even though the integer bit is implied in
single-precision floating-point format.
Figure 4-12. Real Numbers and NaNs
1
0
S
E
Sig
1
0
1
0
Denormalized
Finite
NaN
1
1
...254
Normalized
Finite
1
255
255
SNaN
255
QNaN
NOTES:
3. Sign bit ignored.
2. Fraction must be non-zero.
0
0
S
ESig
1
0
0
NaN
0
1
...254
0
255
X
3
255
1.0XX
...
2
255
1.1XX
...
+0
+Denormalized
Finite
+Normalized
Finite
+∞
SNaN
QNaN
X
3
X
3
X
3
Real Number and NaN Encodings For 32-Bit Floating-Point Format
Denormalized Finite
Normalized Finite 0
+
+ Denormalized Finite
+ Normalized Finite
+0
0.XXX...
2
0.000...
1.000...
1.XXX...
1.000...
0.000...
0.XXX...
2
1.XXX...
1.0XX...
2
1.1XX...
1. Integer bit of fraction implied for
single-precision floating-point format.