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

Vol. 1 4-17
DATA TYPES
4.8.2.1 Normalized Numbers
In most cases, floating-point numbers are encoded in normalized form. This means
that except for zero, the significand is always made up of an integer of 1 and the
following fraction:
1.fff...ff
For values less than 1, leading zeros are eliminated. (For each leading zero elimi-
nated, the exponent is decremented by one.)
Representing numbers in normalized form maximizes the number of significant digits
that can be accommodated in a significand of a given width. To summarize, a normal-
ized real number consists of a normalized significand that represents a real number
between 1 and 2 and an exponent that specifies the numbers binary point.
4.8.2.2 Biased Exponent
In the IA-32 architecture, the exponents of floating-point numbers are encoded in a
biased form. This means that a constant is added to the actual exponent so that the
biased exponent is always a positive number. The value of the biasing constant
depends on the number of bits available for representing exponents in the floating-
point format being used. The biasing constant is chosen so that the smallest normal-
ized number can be reciprocated without overflow.
See Section 4.2.2, “Floating-Point Data Types,” for a list of the biasing constants that
the IA-32 architecture uses for the various sizes of floating-point data-types.
Table 4-5. Real and Floating-Point Number Notation
Notation Value
Ordinary Decimal 178.125
Scientific Decimal 1
.78125E
10
2
Scientific Binary 1
.0110010001E
2
111
Scientific Binary
(Biased Exponent)
1.0110010001E
2
10000110
IEEE Single-Precision Format Sign Biased Exponent Normalized Significand
0 10000110 0110010001000000000000
0
1. (Implied)