计组定点数运算二:乘法

MOOC《计算机组成原理》河南科技大学
https://www.icourse163.org/learn/HAUST-1001796013#/learn/announce
算术移位:
保持数的符号位不变,而数值大小发生变化。左移相当于乘2,右移相当于除2。
原码移位:
不论正数还是负数,符号位均不变,空位补“0”.
补码移位:
对于正数,符号位不变,左移右移空位补“0”

对于负数,符号位不变,左移补“0”,右移补“1”
例:
移位前:1 x1 x2 x3
左移: 1 x2 x3 0
右移: 1 1 x1 x2

带符号数的舍入处理:
1.恒舍(切断):舍去的值就不要了…
例:
01000110
右移1位:00100011 0
保留的部分不做改变
2.恒置1法:不论多余的数是什么,一律把保留在末尾的数置1
例:
01000100
右移1位:00100010 0
再将末位置1:00100011
3.0舍1入法:舍去的数为0,保留数不变,舍去的数为1,保留数末尾加1
01001100
右移:00100110 0 由于移出的是1,就不变
01001101
右移:00100110 1移出的为1,保留数末尾加1
00100111

定点数原码的一位乘法运算:
同号相乘为正,异号相乘为负。数值部分与十进制乘法类似。
首先取绝对值。
手工运算:
在这里插入图片描述
在这里插入图片描述
两个n为二进制数相乘,可产生最长长度为2n位的积。

但是手工运算的方法不能在机器上运行,存在三个问题:
1.在加法器中很难实现多个部分积同时相加。
2.在计算机中,加法器的位数一般与寄存器位数相同,不能像手工计算中,最后结果为寄存器位数的两倍。
3.在手工计算中,可以看到乘数的每一位,然鹅,计算机补能看见每一位是0还是1

计算机运算:
解决以上问题,计算机进行符号数原码一位乘法运算时,流程是这样的:
在这里插入图片描述
实现逻辑图:
在这里插入图片描述
例子:
在这里插入图片描述
最后判断符号位就完成了。

定点数补码的一位乘法运算:(Booth算法)
在这里插入图片描述
在这里插入图片描述
https://www.bilibili.com/video/BV17Q4y1K7jw?from=search&seid=16642361673499384339

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值