對負數而言: [X]反 = [X]原 符號位不變,尾數按位變反。
[X]補 = [X]反 末位加“1”,
或[X]補 = [X]原 符號位不變,尾數按位變反後再加“1”。
[X]原 = [X]反 符號位不變,尾數按位變反。
[X]原 = [[X]補]補 即補碼的補碼,也就是說對負數的補碼再求補得到原碼。
X = 76 (都用壹個字節表示)
則 [X]補 = [X]原 = 01001100B
[X]補 = 80H
這是補碼的壹個特殊情況-128,八位原碼和反碼都是表示不了這個數的。
[X]補 = (10000000)B 按位取反加1後有溢出,但計算機中該補碼認定為-128,因此 X = -(10000000)B = -128
[X]補 = 98H
[X]補 = (10011000)B
如果計算機內做除以2的操作,因為計算機本身是將整個碼當二進制數對待的,並不區分是什麽碼(也就是說計算機只認二進制數),所以 [X]補/2 是將[X]補 每位都算術右移壹位(包括符號位)。 [X]補/2 = (01001100)B = 4CH。
如果是單求補碼值的壹半(除2),則可理解為符號位保持不變的算術右移壹位,[X]補/2 = (11001100)B = CCH。
X = 78, Y = -83
[X]補 = (01001110)B
[Y]補 = (10101101)B
[X+Y]補 = [X]補 + [Y]補 = (01001110)B + (10101101)B = (11111011)B = FBH