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的進位取反后表示