判断是不是偶数:
if(n%2 == 0) 相当于 if((n&1) == 0)
判断是不是奇数:
if(n%2 != 0) 相当于 if((n&1) != 0)
判断是不是2n
if(n & (n-1)) 结果是0就是2^n 不是0就不是
二进制中1的个数:
int lowbit(int x)
{
return x & (-x);
}
while(x)
{
cnt++;
x -= lowbit(x);
}
cnt就是结果
异或 ^ :
出现偶数次的数异或为0
出现奇数次的数异或是它本身