跳转至

溢出

什么是溢出

  • 如果运算结果超出了数的表达范围,则产生了溢出
  • 如果存在溢出,则说明有符号数的运算结果不正确

溢出的判断

  • 不符合常理的结果
    • 正+正=负
    • 负-负=正
    • 正-负=负
    • 负-正=正
  • 最高位于次高位不同时向前进位或借位
    • 理解:次高位向前进位了,最高位也应该+1,但由于溢出,最高位会因为进位不变

如何运用溢出和进位

  • 处理器对两个操作数进行运算时,并不知道操作数是有符号还是无符号数
  • 利用的方法:
    • 参与运算的操作数是无符号数,则应该关心CF
    • 参与运算的操作数是有符号数,则应该关心OF(是否出现溢出现象)