补码相加的问题
以8位数为例
1 正整数补码相加
01000000 64
01000000 64
10000000 溢出
正数很容易判断,只要两个数同时大于等于64就会溢出
即符号位后1位同时为1就会溢出
2 负整数补码相加
11000000 -64
11000000 -64
110000000 -128 未溢出
虽然符号位相加为0,但是后面进位补上了1
11000000 -64
111111111 -1
101111111 -65
负数要想不溢出,符号位后1位必须同时为1,否则就会溢出
正数1越多越大,1的位越高越大
负数1越多越小,1的位越高越小
不成熟的想法:
也可以理解为负数的0为有效位
1万+

被折叠的 条评论
为什么被折叠?



