User Guide
x87 Floating-Point Programming 257
24592—Rev. 3.15—November 2009 AMD64 Technology
The single-precision and double-precision formats do not include the integer bit in the significand (the
value of the integer bit can be inferred from number encodings). The double-extended-precision
format explicitly includes the integer in bit 63 and places the most-significant fraction bit in bit 6 2.
Exponents of all three types are encoded in biased format, with respective biasing constants of 127,
1023, and 16,383.
Table 6-8. Supported Floating-Point Encodings
Classification Sign
Biased
Exponent
1
Significand
2
Positive
Non-Numbers
SNaN
0 111 ... 111
1.011 ... 111
to
1.000 ... 001
QNaN
0 111 ... 111
1.111 ... 111
to
1.100 ... 000
Positive
Floating-Point
Numbers
Positive Infinity (+∞)
0 111 ... 111 1.000 ... 000
Positive Normal
0
111 ... 110
to
000 ... 001
1.111 ... 111
to
1.000 ... 000
Positive Pseudo-
Denormal
3
0 000 ... 000
1.111 ... 111
to
1.000 ... 001
Positive Denormal
0 000 ... 000
0.111 ... 111
to
0.000 ... 001
Positive Zero
0 000 ... 000 0.000 ... 000
Note:
1. The actual exponent field length is 8, 11, or 15 bits, depending on operand preci-
sion.
2. The “1.” and “0.” prefixes represent the implicit or explicit integer bit. The actual frac-
tion field length is 23, 52, or 63 bits, depending on operand precision.
3. Pseudo-denormals can only occur in double-extended-precision format, because
they require an explicit integer bit.
4. The floating-point indefinite value is a QNaN with a negative sign and a significand
whose value is 1.100 ... 000.