计算机组成原理之判断溢出

先简单介绍溢出,所谓的溢出是指:运算结果超出机器数的表示范围。根据概念我们可知相异的数相加是不会产生溢出的。

溢出分为正溢和负溢。正溢:正数相加溢出。负溢:相加绝对值溢出。

下面介绍判断溢出的方法:

介绍几个例子(采用补码运算):

例一

3+6=9转2进制

0 0011

0 0110

0 1001

例二

8+9=17

0 1000

0 1001 

1 0001(正溢)

例三

8+(-5)=3

0 1000

1 1011

0 0011 

例四:(-9)+(-8)=(-17)

1 0111

1 1000

0 1111(负溢)

对上面的几个例子进行分析,设两个操作数的符号位分别为a,b,结果的符号位为f。符号位直接参与运算,所产生的符号位进位为d,把符号位之后的A1B1称为最高有效位,最高有效位进位产生的进位为e。根据这些信号的关联,判断是否溢出。

方法一:溢出包含两种情况(a=b=0,f=1此时为正溢,a=b=1,f=0此时为负溢)

方法二:从进位信号之间的角度出发:当发生正溢时最高有效数进位产生的信号为e=1,d=0。产生负溢时,e=0,d=1。其他未溢出情况e=d

方法三:扩展符号位,用多位表示。




  • 24
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值