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

 我来答
gcc123123
2012-03-21
知道答主
回答量:26
采纳率:0%
帮助的人:21.6万
展开全部
【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.
追答
恩,总结起来差不多是这样的.   步骤要写的更详细, 这里写起来麻烦...
还有一种算法是两位两位右移.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2024-10-17 · TA获得超过5523个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:694万
展开全部

两数相乘,分解来做,也就是多次“移位、相加”,而已。

Booth 算法来实现补码乘法,其实并没有可取之处。

原来需要多少次“移位、相加”,使用布斯算法,仍然还是要用多少次。

应用布斯算法,反而还要增加不少的判断电路和判断法则。

貌似是简化了加数。其实,这只是【心理安慰】而已。

加数是零,或根本什么也不加,花费的时间,依然和加上被乘数是一样。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式