发布网友 发布时间:2022-04-23 00:56
共2个回答
热心网友 时间:2023-09-11 10:06
首先符号相反是不会产生溢出的~~所以就是X0Y0或~X0~Y0X0Y0~S0:负+负仍为负,故S0若0(即为正)则溢出;~X0~Y0S0:正+正仍为正,故S0为1(即为负)则溢出;至于减法似乎不对比如1-(-1)就为00000001-11111111=00000010,结果是对的,没有溢出,所以减法应该是不对的;正确的方法还是应该判断最符号位进位和最高位进位,异或为1则溢出,为0不溢出,加减法都适用。
热心网友 时间:2023-09-11 10:06
计算二进制溢出判断时候,什么是符号位进位和最高位进位?
------------
做加法运算时:
“数值位的进位”,也就是“次高位的进位”,称为 Cp。
Cp,要和两个符号位相加。即,在最高位,共有三个数相加。
“符号位的进位”,也就是“最高位的进位”,称为 Cs。
------------
单独看“最高位的进位”,如果为 1,就是【无符号数溢出了】。
如果“最高位的进位”与“次高位的进位”不同,就是【带符号数溢出了】。