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、检查是否为2的幂等,这些技巧对于理解二进制运算及提高编程效率非常有帮助。
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
1731
1649
2632

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