定点数原码乘法运算
手算二进制乘法
我们可以分别计算被乘数和乘数每一位的乘积,乘以对应的位权然后把它们加起来,乘以对应位权这个操作我们可以通过逻辑移位来实现
而对于符号位的处理,我们可以首先不考虑符号位,取两个数字的绝对值进行相乘,在运算完成之后,对运算结果的符号位进行修改
原码二进制乘法的电路实现
如果被乘数当前参与运算的位是1,那就将被乘数加到ACC中,否则什么都不做,然后对ACC和MQ进行一个整体右移,ACC被移出的低位补到MQ的高位中,舍弃乘数的低位,循环执行以上步骤。直到乘数的所有数值位都被移出MQ。
在上述运算完成后,由乘数和被乘数的符号位异或,得到运算结果的符号位并进行修改即可。一定要注意乘数的符号位是不参与运算的