LSB的Booths乘法算法额外位

时间:2016-08-05 13:35:21

标签: algorithm multiplication digital-logic

我对展位的乘法算法感到困惑。假设我们想要将两个二进制数A(7位)和B(7位)相乘。 A = 00101011(乘数) B = 00001100(乘数)

初始产品= 00000000000000

现在在下一步中,根据算法,我们制作一个乘积(14位)=乘积+乘数(在产品的右半部分)+我们在LSB位置添加一个额外的位(0)。

对于上述情况:初始产品= 0000000000011000

我的问题是,为什么我们需要这个额外的位以及为什么它被分配给0?

1 个答案:

答案 0 :(得分:1)

该额外位可用于暂时将A.i和B.i的比较改为A.i和B.i-1的等效物。首先,使用它的原因是安全地调用将位Y i 与位Y i-1 进行比较的要求的方法。通过添加它,我们可以防止判断位-1是否泄漏到其他内存中的模糊性。

在二元系统中,由位置0表示的值可以表示是否存在1个单位。如果位置为-1,则假定其值始终为0,因为缺少0个单位与0个单位的存在完全相同。