不考虑符号,对一个二进制数X,假设一共K位,取反加一:2^(k-1) -1 - x + 1 = 2^(k-1) - x;减一取反:2^(k-1) - 1 - (x - 1) = 2^(k-1) - x,因此相等。
另一种证明,假设原二进制数全0,取反加一和减一取反都等于1;假设原二进制数至少存在一个1,不妨按从右数第一个1为界将原二进制数分成左右两半,即X10...0形式。取反加一:(~X01...1) + 1 = ~X10...0,减一取反:~(X01...1) = ~X10...0,所以等价。