补码运算溢出判断规则(二进制补码如何判断溢出)

本文目录
二进制补码如何判断溢出
首先符号相反是不会产生溢出的~~所以就是X0Y0或~X0~Y0X0Y0~S0:负+负仍为负,故S0若0(即为正)则溢出;~X0~Y0S0:正+正仍为正,故S0为1(即为负)则溢出;至于减法似乎不对比如1-(-1)就为00000001-11111111=00000010,结果是对的,没有溢出,所以减法应该是不对的;正确的方法还是应该判断最符号位进位和最高位进位,异或为1则溢出,为0不溢出,加减法都适用。
二进制补码运算溢出判断
补码运算的溢出判别方式为双高位判别法,利用Cs表示符号位是否进位,利用Cp表示最高数值位是否进位。如果Cs ^ Cp的结果为真,则代表发生了溢出(运算结果大于0则为负溢出,小于0则为正溢出),否则运算结果正确。
例如:
1000 0011(补码为-3,原码为-125) 0000 0011(补码为3,原码为3)
+1100 1001(补码为-73,原码为-55) +1100 1001(补码为-73,原码为-55)
10100 1100(补码为76,原码为76) 01100 1100(补码为-76,原码为-52)
Cs为1,Cp为0所以产生了负溢出。 Cs为0,Cp为0所以结果正确。
扩展资料
二进制补码运算规则:
1、正数:原码=反码=补码
2、负数:原码(第一位是1符号位)=反码(除第一位符号位外,其它按位取反)=补码(反码+1)
3、0:原码=反码=补码=0
举例:
1、15-5=15+(-5)=10
原码:
15:0000 1111
-5:1000 0101
反码:
15:0000 1111
-5:1111 1010
补码:
15:0000 1111
-5:1111 1011
百度百科——补码

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




