補碼的加減運算

2021-06-04 14:13:29 字數 1290 閱讀 3323

原文:

計算機中採用補碼進行加法運算,並約定儲存單元和運算暫存器中的數都採用補碼表示,資料運算結果也用補碼表示。

定點小數補碼加法的運算公式為

[x]補+[y]補=[x+y]補     (mod 2)

具體證明過程見教材。

因此在模2定義下,兩個定點小數的補碼之和等於兩個數和的補碼。反過來,兩個數相加所得到的和的補碼等於這兩個數補碼的和。這是補碼加法的理論基礎,其結論推廣到定點整數後得出定點整數補碼加法的運算公式為:

[x]補+[y]補=[x+y]補     (mod 2n+1)

[例2.16]  已知x=0.0011,y=0.0111,用單符號位補碼計算x+y。

解:【x】

補= 0.0011    【y】

補= 0.0111

【x】補0.0011

+  【y】

補0.0111

---------------------------------

【x+y】補      0.1010

所以         x+y = 0.1010;

[例2.17]  已知x=0.1101,y=-0.0011,用單符號位補碼計算x+y。

解:【x】補 = 0.1101     【y】補 = 1.0011

【x】補

0.1101

+ 【y】

補1.0011

---------------------------------

【x+y】補      0.1010

所以         x+y = 0.1010;

[例2.18]  已知x=+1001,y=-0101,用單符號位補碼計算x+y。

解:【x】補 = 1001     【y】補 = 11011

【x】補

1001

+  【y】

補11011

---------------------------------

【x+y】補      00100

所以         x+y = +0100

由例2.16、例2.17和例2.18可以看出,定點小數加法運算與定點整數加法運算的區別僅在於小數點的位置不同而已,即定點小數的小數點在符號位之後,而定點整數的小數點在機器碼的最後。實際上,對於定點數的其它運算,定點小數與定點整數的區別也僅在於小數點的位置不同而已,運算規則完全相同。

補碼加減運算

1 補碼加法運算 兩個相加的數無論正負,只要表示成對應的補碼形式,則可直接按二進位制規則相加,且符號位作為數的一部分直接參與運算,所得結果就是和的補碼形式,用關係式表示 x 補 y 補 x y 補2 補碼減法運算 x y 補 x y 補 x 補 y 補 y 補稱為 y 補的機器負數。不管 y的真值是...

彙編 數的補碼表示及其加減運算

彙編 數的補碼表示及其加減運算 補碼表示法 正數的補碼表示 與原碼表示相同 1 補碼 0000 0001 01h 127 補碼 0111 1111 7fh 0 補碼 0000 0000 0h 負數的補碼表示 相應的正數按位求反,末位加1即為該負數的補碼表示 求負數補碼表示的方法 1 寫出與該負數相對...

定點補碼加減法運算 定點加減法運算與溢位判斷處理

定點加減法運算 原碼加減法 同號 數值部分相加,結果的符號與加數符號相同。異號 數值部分相減 要將減數取補,變成加法 結果的符號取絕對值大的數的符號。原碼一般不用來做加減運算,而多用來做乘除運算,做加減運算時,多用補碼。補碼加減法運算 符號位與數值位一起參與運算。運算規則 兩個補碼相加,符號位也參與...