1.概念
当两个同号的数相加或者相减得到的结果超过了计算机所能表示的范围就会发生溢出。
2.判断方法
1.双符号位判溢出
每个操作数的补码符号位用两个二进制数表示,称为变形补码。
两个符号位都参与运算,其中01表示正溢,10表示负溢。
符号位最高位始终指示正确的符号
2.单符号位判溢出
两同号数相加时,如果结果的符号与参与运算的操作数符号相反 ,则表明有溢出;
两异号数相减时,如果结果的符号与被减数的符号相反,则表明有溢出;
3.进位值
两补码数进行加减运算时
若最高数值位产生向符号的进位而符号位不产生进位时,发生正溢出
若最高数值位无进位而符号位有进位时,发生负溢出