溢出
什么是溢出
- 如果运算结果超出了数的表达范围,则产生了溢出
- 如果存在溢出,则说明有符号数的运算结果不正确
溢出的判断
- 不符合常理的结果
- 正+正=负
- 负-负=正
- 正-负=负
- 负-正=正
- 最高位于次高位不同时向前进位或借位
- 理解:次高位向前进位了,最高位也应该+1,但由于溢出,最高位会因为进位不变
如何运用溢出和进位
- 处理器对两个操作数进行运算时,并不知道操作数是有符号还是无符号数
- 利用的方法:
- 参与运算的操作数是无符号数,则应该关心CF
- 参与运算的操作数是有符号数,则应该关心OF(是否出现溢出现象)