溢出判断

  • 单符号位
    两同号数相加时,如果结果的符号与参与运算的操作数符号相反 ,则表明有溢出;
    两异号数相减时,如果结果的符号与被减数的符号相反,则表明有溢出

  • 双符号位
    每个操作数的补码符号用两个二进制数表示,称为变形补码,用“00”表示正数,“11”表示负数,符号位第一位叫第一符号位,第二位称为第二符号位,两个符号位同时参加运算。
    如果运算结果两符号位相同,则没有溢出发生。
    如果运算结果两符号位不同,则表明产生了溢出
    10 负 溢 出 说 明 运 算 结 果 为 负 数 01 正 溢 出 说 明 运 算 结 果 为 正 数 \begin{array}{cc} 10 & 负溢出说明运算结果为负数 \\ 01 & 正溢出说明运算结果为正数 \end{array} 1001

  • 进位值
    两补码数进行加减运算时

  • 若最高数值位产生向符号的进位而符号位不产生进位时,发生正溢出

  • 若最高数值位无进位而符号位有进位时,发生负溢出

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐