用Booth算法计算-4×3的4位补码乘法运算,要求写出每一步运算过程及运算结果 麻烦详细说明每一步的操作

如题所述

第1个回答  2012-03-21
【3】补=0011(作被乘数R2) 【-4】补=1100(作乘数R1)
循环 步骤 乘积(R0 R1 P)
0 初始化 0000 1100 0
1 无操作 0000 1100 0
右移 0000 0110 0
2 无操作 0000 0110 0
右移 0000 0011 0
3 减0011 1101 0011 1
右移 1110 1001 0
4 无操作 1110 1001 0
右移 1111 0100 1
乘积 = 1111 0100 = -12

0011=3 , 1101=-3
最后两个位数的操作 (R1 最后数值 和 P)
00 或 11 无操作
10 加 -3
01 加 3

http://zhidao.baidu.com/question/389506589.html?oldq=1追问

这个我看过的,其实这里说的还是不是很清楚的,让人很难理解的,因为有些地方都没有说明白,后来还是我自己把它研究清楚了,是这样的,P(0)是辅助位,第一次看R1的最后一位和P为00,00 或 11 无操作,10:R0-R2然后再赋值给R0作为新的R0,01:R0+R2然后再赋值给R0作为新的R0,如图所示,后面的操作类似,还有一点要说明,就是右移之后,最后一位是0就再补0,是1就再补1.

追答

恩,总结起来差不多是这样的. 步骤要写的更详细, 这里写起来麻烦...
还有一种算法是两位两位右移.

相似回答