计算机内实现原码乘法的具体过程如下: 假定 X=0.1101 Y=0.1011

结果符号位为正,数值位为10001111。这种乘法运算的控制流程图给出在图2.7。该图中,数据的位序号从左至右移按0、1…n的次序编,0位表示符号,共n位数值。
从流程图上可以清楚地看到,这里的原码一位乘是通过循环迭代的办法实现的,即按一定的时间顺序重复地使用最少量的硬件(寄存器、加法器、移位和传送门等),把整个乘法过程变成为数据经过选通门和加法器实现相加、移位和寄存器接收的时序控制过程。即把X*Y为成如下形式:
P = 2-1 { 2-1 [ 2-1( 2-1
… (2-1 ( 0 + Xyn)+ Xyn-1 + … Xy3)
+ Xy2 ] + Xy1 }
将上述公式展开,可写成:
P0 = 0
P = 2-1 ( P0 + Xyn )
P2 = 2-1 ( P1 + Xyn-1 )
…
Pi+1 = 2-1 ( Pi+ Xyn-i )
…
Pn= 2-1 ( Pn-1 + Xy1 )
P = Pn
此处的P0、P1…Pn-1称为部分积, Pn为最终的乘积P。

图2.7 原码一位乘运算流程
|
|