1.乘数最低位的后面增加一个附加位,初值为 0。在运算过程中,和乘数
一起做右移。
2.为防止溢出,设三个符号位,在运算过程中,最高位才表示真正的符号。
3.每一步加的值取决于移位后的乘数寄存器的最低两位和附加位的值。
(4)补码一位乘法运算
1.乘数和被乘数都以补码表示(本程序允许数值位4 位,符号位一位),运
算结果也是补码。运算过程中,为防止溢出,加法器需使用两位符号位。
2.乘数最低位后增加一位附加位,初值为 0,以后和乘数寄存器联合移位。
3.右移按补码规则进行,即符号位复制。
1.本程序允许进行单字节(8 位二进制)原码(含一位符号位)的数值部分两
位乘法运算,因此数值位只有 7 位。
2.由于原码两位乘法运算中,可能需要进行加 2|X|以及减|X|的运算,所以
实际上需要用补码加减运算,为了不发生溢出,在加法器中含有三个符号位;
对于加正数,高位补 0,而减|X|则变为加-|X|的补码;部分积右移时,如果最
高位为 0,则高位补 0,如果最高位为 1,则高位补 1。
3.由于乘数和被乘数的数值部分只有 7 位,故乘积的数值部分只有 14 位。
评论0
最新资源