1. 程式人生 > >計算機組成原理(一)補碼反碼的加減運算和溢位

計算機組成原理(一)補碼反碼的加減運算和溢位

補碼的加法運算:    補碼加法的特點:    符號位作為數的一部分參加運算,符號位的進位丟掉。    運算結果為補碼形式 整數  [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

反碼的減法運算:

  兩個反碼錶示的數相減,類似於補碼減法,將減數變符號,並根據變號後的減數取反,按反碼加法進行。

溢位檢測:

   可能產生的溢位檢測:

        兩正數加,變負數,上溢(大於機器所能表示的最大數)

        兩負數加,變正數,下溢(小於機器所能表示的最小數)