数据溢出判断

溢出概念

程序执行过程中,跑的都是数据,因此难免会有数据溢出的现象,那么,
1)数据溢出什么样子呢?
以byte类型为例,1byte有8bit,如果最高位向前有进位,那么就表示数据溢出。
eg:
  1000 0000
+1000 0000
——————
1 0000 0000
我们还知道计算机有个溢出标志位OF,
2)那当数据溢出时,计算机是如何判断溢出,进而修改OF标志位的?
计算机的计算方法:OF=CF与次高位进位的异或值。CF是最高位(符号位)的进位,次高位进位是数据的最高位向符号位的进位。

判断方法

1、无符号数溢出判断
其实很简单,就一句话:

当最高为向更高位有进位(或借位)时产生溢出。

2、有符号数溢出判断
微机原理中的判断有符号数溢出规则:最高位进位状态⊕次高位进位状态=1,则溢出
"⊕"表示异或:相同为0,相异为1
那么上述判断规则翻译白话后为:最高位和次高位,一个有进位一个没有进位,则他们的状态异或值是1,则结果就有溢出。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值