概述
溢出概念
程序执行过程中,跑的都是数据,因此难免会有数据溢出的现象,那么,
1)数据溢出什么样子呢?
以byte类型为例,1byte有8bit,如果最高位向前有进位,那么就表示数据溢出。
eg:
1000 0000
+1000 0000
——————
1 0000 0000
我们还知道计算机有个溢出标志位OF,
2)那当数据溢出时,计算机是如何判断溢出,进而修改OF标志位的?
计算机的计算方法:OF=CF与次高位进位的异或值。CF是最高位(符号位)的进位,次高位进位是数据的最高位向符号位的进位。
判断方法
1、无符号数溢出判断
其实很简单,就一句话:
当最高为向更高位有进位(或借位)时产生溢出。
2、有符号数溢出判断
微机原理中的判断有符号数溢出规则:最高位进位状态⊕次高位进位状态=1,则溢出
"⊕"表示异或:相同为0,相异为1
那么上述判断规则翻译白话后为:最高位和次高位,一个有进位一个没有进位,则他们的状态异或值是1,则结果就有溢出。
最后
以上就是时尚小蜜蜂为你收集整理的数据溢出判断的全部内容,希望文章能够帮你解决数据溢出判断所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复