题目:
算法思想:一个数x与1异或就是它的补数,0^1=1 1^1=0,我们要找到给定的num它的位数,然后用1填满位数。
代码:
int findComplement(int num) {
int tmp = num;
int a = 0;
while(tmp > 0)
{
tmp = tmp >> 1;
a = (a << 1) + 1;
}
num = num ^ a;
return num;
}
快速求补数算法
本文介绍了一种快速求一个整数补数的算法,通过计算给定整数的位数并使用1填充相同位数来实现。这种方法利用了异或运算的特性,即一个数与1异或即得到其补数。

1475

被折叠的 条评论
为什么被折叠?



