1.交换两个数
a^=b;
b^=a;
a^=b;
2.判断一个数的二进制是否有相邻的1,左移或者右移,&
bool judge(int x){
<span style="white-space:pre"> </span>return x&(x<<1);
}
3.判断两个数的二进制是否存在对应的某一位同为1
x&y
4.判断一个数是不是2的幂
x&(x-1)
5.取某个数的二进制的第i位数
x&(1<<(i-1))
(1<<31)-1
1.交换两个数
a^=b;
b^=a;
a^=b;
bool judge(int x){
<span style="white-space:pre"> </span>return x&(x<<1);
}
x&y
4.判断一个数是不是2的幂
x&(x-1)
5.取某个数的二进制的第i位数
x&(1<<(i-1))
(1<<31)-1