計算機組成原理(一)補碼反碼的加減運算和溢位
阿新 • • 發佈:2018-12-15
補碼的加法運算: 補碼加法的特點: 符號位作為數的一部分參加運算,符號位的進位丟掉。 運算結果為補碼形式 整數 [A]補 + [B]補= [A+B]補 (mod 2n+1) 小數 [A]補 + [B]補= [A+B]補 (mod 2) 補碼的減法運算: 因為 A–B= A+(–B ),所以有補碼減法: 整數 [A – B]補= [A+(–B )]補= [A]補 + [ – B]補 (mod 2n+1) 小數 [A – B]補= [A+(–B )]補= [A]補 + [ – B]補 (mod 2) 從[Y]補求[-Y]補的法則是: 對[Y]補包括符號位“求反且最末位加1”
反碼的加法運算:
兩個反碼進行加運算,然後將進位數拿掉,用此數加上進位的那個數,如:
[X]反=0.1011 [Y]反=1.1010 [X]反 0.1011 + [Y]反 1.1010 10.0101 +迴圈進位 1 [X+Y]反 0.0110
所以,x+y=0.0110
反碼的減法運算:
兩個反碼錶示的數相減,類似於補碼減法,將減數變符號,並根據變號後的減數取反,按反碼加法進行。
溢位檢測:
可能產生的溢位檢測:
兩正數加,變負數,上溢(大於機器所能表示的最大數)
兩負數加,變正數,下溢(小於機器所能表示的最小數)