首先我们来看一个手工进行定点小数乘法的例子:
从上例看出,我们最后对四个乘积做加法得到结果,但对于计算机而言,如何进行n位乘法n次相加呢?而且如何确定数值正负呢?
计算机每次只处理一位乘数,每求得一项部分积,就做一次加法,并将结果右移一位。
下面我们来讨论原码一位乘法。(举个例子进行分析)
例2.X=0.0010,Y=-0.1101,XY=?
寄存器A=00.0000(存放运算结果),B=|X|=00.0010,C=|Y|=0.1101
对于结果正负,只需将X,Y两个数符号位做异或。同号为正,异号为负。所以例中最后结果为1.00011010.