在上篇博文中,做而论道介绍了使用校正法的补码乘法电路,可见链接。
使用校正法的乘法运算方法,与无符号数乘法是类似的,就是用乘数 B 的每一位,进行判断,来决定是否加上被乘数 A、或者是加上零。 唯一不同的地方就是:乘数的最高位是负数。 因此,在多个部份积中,只有最后一项部份积,才是负的。 那么在对各项部份积求和时,对此项,就必须使用减法来做。 使用校正法计算补码乘积的竖式如下所示。
在上图中,乘数 B 的最高位:B4 = 1。 但是在计算部份积 B4 * [A]补 时,则应以 “负 1 ” 来相乘。 因此,该项部份积(B4 * [A]补)就是负的,当它与其它各项部份积求和时,就必须用减法来做。 在这一步使用减法,这就叫做【校正】!
如果,B4 = 0,这个校正值就是零。 减去零,结果当然是不变的,所以也就可以略去这一步骤。
因此,就有人想到:多 “制造” 一些 为零的部份积