1、产生01的情况:
补码:
0 111
+ 0 010
————
1 001
两个正数相加出现了负数,明显有误,就是说此时产生了上溢出(注:补码运算时符号位也参与运算)
变形补码:
00 111
+ 00 010
————
01 001
此时读数时,由于左边的符号位是0,所以表示正数,读成+9,而不像模二补码中变成了-7
2、产生10的情况:
补码:
1 001
+ 1 010
————
10 011
溢出一位后,结果变成了0 011,两个负数相加出现了正数,明显有误,就是说此时产生了
下溢出(注:补码运算时符号位也参与运算)
变形补码:
11 001
+ 11 010
————
110 011
溢出一位后,结果变成了10 011,此时读数时,由于左边的符号位是1,所以表示负数,读成-19,而不像模二补码中变成了+3
(注:产生01和10时,读数时右边那一位符号也要算在数字里面)