The upper extreme value
of the exponent field is reserved for encoding non-numerical entities.
According to Definition 5.2.2, an encoding for an explicit formal with exponent field
is unsupported if its integer bit is 0. In all other cases an encoding with this exponent field is
an *infinity* is its significand field is 0, and a *NaN* (Not a Number) otherwise. A NaN is further classified
as an *SNaN* (signaling NaN) or a *QNaN* according the the MSB of its mantissa field:

*(a) is an infinity for iff
;*

*(b) is a NaN for iff
;*

*(c) is an SNaN for iff is a NaN and
;*

*(c) is a QNaN for iff is a NaN and
.*

This function constructs an infinity with a given sign:

The following function converts an SNaN to a QNaN:

The following encoding, known as the *real indefinite QNaN*, has special significance in the handling of floating-point exceptions:

Infinities and NaNs will be discussed further in Part III.

David Russinoff 2016-10-04