判断奇偶数 (奇数)a&1==1 (偶数)a&1==0
整除2 a>>1
取最低位的1 a&(~(a-1))
判断两个数是否相等 a^b==1 不相等 a^b==0是相等
求一个数二进制位有几个1,用消去1的次数来统计 a&(a-1) 消去最后一位1
是不是2的幂也就是二进制位只有一个1 x&x-1==0
是不是4的幂 首先是4的幂一定也是2的幂 4的幂最大数0x55555555
( x&(x-1)==0 )||((x&0x55555555)!=0)
用位运算计算加法
两个数相加a = 2,b= 3;
2的二进制10+3的二进制11 = 101
考虑不进位sum = a^b;
进位 $b = a&b<<1;
$a = $sum
while($b!=0){
$sum = $a^$b;
$b = ($a&$b)<<1;
$a = $sum;
}
如何快速的将一个奇数变成偶数,偶数变成奇数
(x+1)^1-1