数字的补数 对整数的二进制位取反操作,再转成十进制得到该整数的补数。 如 4(100) 取反后得到补数3(011)。 对于整数n = 4。 获取n的二进制位中每一位都为1的数c int len = Integer.toBinaryString(n).length(); // 整数n的二进制长度,如4(100)的二进制长度为3。 int v = 1<<len; 4(100),则v = 8(1000)。 int c = v - 1; c = 7(111)。此时得到n的二进制中第一位都为1的数为c 将 c 与 n进行异或(^)运算。 int m = c ^ n; 3(11) leetcode476. 数字的补数