通俗易理解的定点数的乘法运算

首先我们知道的是在机器中一般进行运算的补码,因为补码的特性:用单纯的机器码加法运算实现了有符号数的加减法(普及一下个人理解),但是对于一些正数而言,原码即时补码,所以再讲补码的乘法运算前,想讲一下原码的乘法运算。下面步入正题

介绍一下两个知识点:1、在机器中很难做到一次求和的操作,所以我们要分阶段求和并且累加求和

                                    2、如果某机器字长为n位,则数据为n位,n位xn位很有可能等于2n位,导致机器内存储不了这样的数据

                                    解决办法:在求积过程中将左移位积的操作变成位积不动而是上次部分积保持不动实现等同的操作(如果用物理中的名词来形容的话,就是相对运动,纯个人理解)如果是左移的操作就会不断地增加高位,但是你改变思路实现右移的话就可以不断地去除低位。

接下来介绍一下Booth算法:(1)被乘数与乘数均已补码的形式参加乘法运算,结果是积的补码。

                                             (2)被乘数采用双符号位,乘数用单符号位

                                             (3)在乘数的补码中的末位添加一个0。

                                             (4)根据乘数中倒数第二位减倒数第一位的值的进行选择:0 直接右移 -1加上被乘数的补码 1加上被乘数相反数的补码。

                                          (5)累加进行n+1次,右移n次,最后一次不右移。 

Booth算法就是补码乘法运算的规则。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值