1、移位操作及其意义
逻辑左移:
算术左移:
逻辑右移:
算术右移:
2、二进制乘法的手工计算过程
a.说明乘法可由加法实现
b.存在的问题:
*需要多输入的全加器(最多为n+1)
*需要长度为2n的积寄存器
*对应乘数的不同位,部分积左移次数不同
且乘法过程中总移位次数多
如何解决上述问题(改进方法)
*需要多输入的全加器(最多为n+1)
解决方法:基于FA的循环累加0或被乘数
*针对乘数不同位部分积左移次数不同的问题
解决方法:右移部分积,同时也将乘数右移,将移出的部分加入乘数的最左边
*需要长度为2n的积寄存器
解决方法:从部分积和乘数寄存器取结果
3、原码一位乘法算法
*符号位单独参加运算,数据位取绝对值参加运算。
*运算法则:
*运算过程采用改进的乘法运算方法