首页 > 代码库 > 补码运算溢出判断方法

补码运算溢出判断方法

溢出判断方法一
  用Xf和Yf表示被加数和加数补码的符号位,Zf为补码和的符号位。当出现Xf = Yf= 0两数同为正,而Zf为负,即Zf=1时,有上溢。当出现Xf =Yf = 1两数同为负,而Zf为正,即Zf= 0时,有下溢。
 
溢出判断方法二
  当数值最高位有进位位C1=1,符号位没有进位C0=0时,或当数值最高位没有进位位C1=0,符号位有进位C0=1时,结果有溢出。
 
溢出判断方法三:
       用变形补码进行双符号位运算。在变形补码中,正数符号以"00"表示,负数的符号以"11"表示。一般称左边的符号位为第一符号位,右边的符号位为第二符号位。若运算结果的符号位为"01",则表明有正溢出产生。若运算结果的符号"10",则表明有负溢出产生。
http://wenku.baidu.com/view/3ce9db0c844769eae009ed3e.html