Intel 64 and IA-32 Architectures Software Developers Manual Volume 1, Basic Architecture
4-20 Vol. 1
DATA TYPES
In the extreme case, all the significant bits are shifted out to the right by leading
zeros, creating a zero result.
The Intel 64 and IA-32 architectures deal with denormal values in the following ways:
• It avoids creating denormals by normalizing numbers whenever possible.
• It provides the floating-point underflow exception to permit programmers to
detect cases when denormals are created.
• It provides the floating-point denormal-operand exception to permit procedures
or programs to detect when denormals are being used as source operands for
computations.
4.8.3.3 Signed Infinities
The two infinities, + ∞ and −∞, represent the maximum positive and negative real
numbers, respectively, that can be represented in the floating-point format. Infinity
is always represented by a significand of 1.00...00 (the integer bit may be implied)
and the maximum biased exponent allowed in the specified format (for example,
255
10
for the single-precision format).
The signs of infinities are observed, and comparisons are possible. Infinities are
always interpreted in the affine sense; that is, –∞ is less than any finite number and
+∞ is greater than any finite number. Arithmetic on infinities is always exact. Excep-
tions are generated only when the use of an infinity as a source operand constitutes
an invalid operation.
Whereas denormalized numbers may represent an underflow condition, the two ∞
numbers may represent the result of an overflow condition. Here, the normalized
result of a computation has a biased exponent greater than the largest allowable
exponent for the selected result format.
4.8.3.4 NaNs
Since NaNs are non-numbers, they are not part of the real number line. In
Figure 4-12, the encoding space for NaNs in the floating-point formats is shown
Table 4-6. Denormalization Process
Operation Sign Exponent* Significand
True Result 0 −129 1.01011100000...00
Denormalize 0 −128 0.10101110000...00
Denormalize 0 −127 0.01010111000...00
Denormalize 0 −126 0.00101011100...00
Denormal Result 0 −126 0.00101011100...00
* Expressed as an unbiased, decimal number.