Page 80 - Engineering Digital Design
P. 80
2.8 FLOATING-POINT NUMBER SYSTEMS 51
In the binary system, required for computer calculations, Eq. (2.18) becomes
E xs = E 2+2«-\ (2.19)
q {
9 1
with a range in actual exponent of -(2 " - 1) < £ 2 < +(2 ~ — 1). In 32-bit normalized
floating-point form, the exponent in Eq. (2.19) is stored in either excess 127 or excess 128
code (depending on the FPN system used) while the mantissa is stored in sign-magnitude
form.
There still remains the question of how the number zero is to be represented. If the M
field is zero, then the exponent can be anything and the number will be zero. However,
in computers the normalized FPN2 limits M to (0.5 < M < 1) since the MSB for M is
always 1. The solution to this problem is to assume that the number is zero if the exponent
bits are all zero regardless of the value of the mantissa. But this leads to a discontinuity in
normalized FPN2 representation at the low end.
The IEEE standard for normalized FPN 2 representation attempts to remove the problem
q {
just described. The IEEE system stores the exponent in excess 2 ~ — 1 code and limits the
decimal range of the actual exponent to
q
_(2<?- _ 2) < E 2 < +(2 - - 1).
For 32-bit FPN single precision representation, the exponent is stored in excess 127 code
as indicated in Fig. 2.1. Thus, the allowable range of representable exponents is from
-126i 0 = 00000001 2 through +127 10 = 11111110 2.
This system reserves the use of all O's or all 1's in the exponent for special conditions [3].
So that the M field magnitude can diminish linearly to zero when E = — 126, the MSB = 1
for M is not specifically represented in the IEEE system, but is implied.
The following example attempts to illustrate the somewhat confusing aspects of the IEEE
normalized representation:
EXAMPLE 2.20 The number 101101.110012 is to be represented in IEEE normalized
FPN 2 notation:
6
101101.11001 2 = .10110111001 x 2 Sign bit = 0 (positive)
where
E xs = 6+127 = 133,0 = 10000101 2
M = 01101 1 1001 ... 00 (the MSB = 1 is not shown).
Therefore, the IEEE normalized FPN is
FPN 2 = 0 10000101 01 1011 1001 ... 0.
Still, other forms of FPNs are in use. In addition to the IEEE system, there are the IBM,
Cray, and DEC systems of representation, each with their own single- and double-precision