对二进制补码数取反的快速方法
简单的对每一位取反,0变1,1变成0,如何对结果进行加1。
一个数和它按位取反结果相加,二进制表示和一定是111····111,即二进制表示为-1.
因此:
x + ~x = -1
=> x + ~x + 1 = 0
=> ~x + 1 = -x
6的补码
6的二进制表示:
0000 0000 0000 0000 0000 0000 0000 0110
取反:
1111 1111 1111 1111 1111 1111 1111 1001
加1:
1111 1111 1111 1111 1111 1111 1111 1010
二进制表示为-6