计算机乘法算法流程,布斯乘法算法

布斯乘法算法是计算机中一种利用数的2的补码形式来计算乘法的算法。该算法由安德鲁·唐纳德·布斯于1950 年发明,当时他在伦敦大学伯克贝克学院做晶体学研究。布斯曾使用过台式计算器,由于用这种计算器来做移位计算比加法快,他发明了该算法来加快计算速度。布斯算法在计算机体系结构学科中备受关注。

中文名

布斯乘法算法

外文名

Booth's multiplication algorithm发明人

安德鲁·唐纳德·布斯

发明时间

1950 年

布斯乘法算法算法描述

编辑

语音

对于 N 位乘数 Y,布斯算法检查其2的补码形式的最后一位和一个隐含的低位,命名为 y[i-1] ,初始值为 0 。对于 y[i], i = 0, 1, ..., N - 1,考察 y[i] 和 y[i - 1 ]。当这两位相同时,存放积的累加器 P 的值保持不变。当 y[i] = 0 且 y[i - 1] = 1 时,被乘数乘以 2^i 加到 P 中。当 y[i]= 1 且 y[i - 1] = 0 时,从 P 中减去被乘数乘以 2^i 的值。算法结束后, P 中的数即为乘法结果。

该算法对被乘数和积这两个数的表达方式并没有作规定。一般地,和乘数一样,可以采用2的补码方式表达。也可以采用其他计数形式,只要支持加减法就行。这个算法从乘数的最低位执行到最高位,从 i = 0 开始,接下来和 2^i 的乘法被累加器 P 的算术右移所取代。较低位可以被移出,加减法可以只在 P 的前 N 位上进行。[1]

布斯乘法算法典型实现

编辑

语音

布斯算法的实现,可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值