正數的補碼直接等於它的原碼,負數的補碼=它的符號位以外的數值按位取反後再加1,同時符號位取1.
以8bit位寬為例子。
55-74=
(55的補碼)
+
(-74的補碼)
55的補碼
=
00110111
-74的補碼
=(最高bit為1,因為是負數)
且
(低7bit為
(1001010按位取反
+
1)
=
(最高bit為1,因為是負數)
且
(低7bit為
(0110110)
=
1_0110110
=
10110110
所以,(55的補碼)
+
(-74的補碼)
=
00110111
+
10110110
=
11101101
而補碼11101101表示的數,正好是有符號的十進制數的-19