1. 程式人生 > 其它 >補碼運算

補碼運算

補碼運算

email:[email protected]

補碼運算規則

  • 加法規則,[X + Y] = [X] + [Y]
  • 減法規則,[X - Y] = [X] + [-Y]
    [-Y]就是對[Y]求變補,即對[Y]的每一位包括符號位在內,按位取反後加1。
    [Y] = 11001101 [-Y] = 00110011
    [Y] = 01001101 [-Y] = 10110011
    通過引進補碼,可將減法運算轉換為加法運算。


設X = +73,Y = -54,求[X + Y]補
解:
由補碼運算規則可知:[X + Y] = [X] + [Y]
先分別求出X和Y的補碼:
X = +73 [X]

= 01001001
Y = -54 [Y] = 11001010

所以:[X + Y] = 00010011B = 24 + 2 1 + 2 0 = 19D
求[X + Y]的真值,也就是X + Y的值。

設X = +23,Y = +54,求[X -Y]
解:
有補碼運算規則可知:[X - Y] = [X] + [-Y]
X = +23 = 00010111
Y = +54 = 00110110
[X] = 00010111
[Y] = 00110110
[-Y] = 11001010

所以:[X -Y] = 00010111 + 11001010 = 11100001 = -27 + 26 + 25 + 20 = -31
運用補碼的運算規則可以把減法運算轉換為加法運算。

補碼運算的結果應用

補碼運算的結果仍然是補碼,需要將其轉換為十進位制真值。


[X] = 01101010,X = 106
[X] = 11101010,X = -22