MOOC《计算机组成原理》河南科技大学
https://www.icourse163.org/learn/HAUST-1001796013#/learn/announce
方法一:
两同号数相加时,如果结果的符号与参与运算的的操作数符号相反,则表明有溢出;两异号数相减时,如果结果的符号与被减数符号相反则表明有溢出。
V = 1 溢出
V = 0 不溢出
例:
方法二:采用双符号位
每个操作数的补码符号用两个二进制位表示,称为变形补码,用“00”表示正数,“11”表示负数,左一成为第一符号位,右一成为第二符号位。如果两符号位相同,则没有溢出;如果两符号位相反则发生溢出,具体形式:
“10”表示负溢出,运算结果为负数
“01”表示正溢出,运算结果为正数
这里求[-Y]的变补时,需要把两个符号位也按位取反。
方法三:利用进位值的判断方法
两补码数进行加减运算的时候,若最高数值位产生向符号位的进位而符号位不产生进位,那么发生正溢出;若最高数值位无进位而符号位有进位时,发生负溢出。如果两个进位同时存在,或者同时不存在,那就没有溢出。
例子: