3、数溢出的概念及其判断方法
1)溢出的概念
运算结果超出了某种数据类型的表示范围
2)溢出的检测方法
溢出只可能发生在同符号数相加时,包括[x]补与[y]补;[x]补与[-y]补同号;
1)方法1:对操作数和运算结果的符号位进行检测,当结果的符号位与操作数的符号不相同时就表明发生了溢出
(设X0,Y0为参加运算数的符号位,S0为结果的符号位)
当V=1时,运算结果溢出,根据该逻辑表达式,容易画出相应电路。
2)方法2:对最高数据位进位和符号位进位进行检测
*设运算时最高数据位产生的进位为C1,符号位产生的进位为C0
溢出检测电路为:V=C0⊕C1
3)方法3:用变型补码
4、无符号数运算的溢出判断
*无符号数加法的溢出可用ALU的进位表示
*无符号数减法的溢出也可用带加/减功能的ALU的进位取反后表示