补码三位乘法

我们要掌握两个方法
1、校正法
2、比较法(Booth乘法)

实际情况是,校正法的速度比较慢,于是在校正法的基础上发展出了Booth乘法。(注:Booth乘法中使用到了校正法)

校正法

两个数字X、Y
他们的补码[X]、[Y]
[X] = Xs . X1X2……Xn
[Y] = Ys . Y1Y2……Yn
两条规则
1、乘数 Y > 0 时,不管被乘数X的正负,都直接按原码乘法运算,只是位移时按补码的规则进行。
2、乘数 Y < 0 时,先不看[Y]的符号位Ys,按照原码乘法运算,最后再加上 [-X] 进行校正。

用公式表达即为:
[XY]=[X]0.Y1Y2Yn+[X]Ys[X*Y]_补 = [X]_补 *(0 . Y_1 Y_2……Y_n)+ [-X]_补 * Y_s

比较法(Booth乘法)

可以看到校正法进行乘法计算后 还要再加,我们想要一种方法,能够直接乘就乘出答案,无需再次进行加法运算。

Booth乘法即可满足这个需求。
补码三位乘法
补码三位乘法


那么接下来看看如何求补码三位乘法的规则:
补码三位乘法