Floating-Point Multiplication
5-28
Figure 5–16. Flowchart for Floating-Point Multiplication
α
(
man)
b(man)
α
(
exp)
b(exp)
(1)
(2)
Multiply mantissas
Add exponents
c(man) =
α
(
man) x b(man)
(50-bit result)
c(exp) =
α
(
exp) + b(exp)
Put
c(man) in extended pre-
cision floating-point format
Test for special cases of
c(man)
c(man) > > 1
and
c(exp) = c(exp) + 1
c(man) > > 2
and
c(exp) = c(exp) + 2
c(exp) =– 128
(4)
Right shift 1
to normalize
(5)
Right shift 2
to normalize
(3)
c(man) = 0
(6)
No shift
to normalize
Dispose of extra bits
Test for special cases of
c(exp)
(12)
c(exp) underflow
(13)
c(exp) in range
(11)
c(exp) overflow
If
c(man) > 0,
set
c(exp) to most
positive value
If
c(man) < 0,
set
c(exp) to most
negative value
c(exp) = –128
c(man) = 0
Set
c to final result
c =
α
x
b
(14)
(15)
(16)
(10)
(9)
(8)
(7)