位运算分为 & | ^ ~ >> <<几大类
& 与
就是a和b转化为二进制找到1的交集
例如
5和4 二进制是101 100
则5&4==4 100
&与 一直变小即 min(a,b)>=a&b\;
| 或
就是a和b转化为二进制找到1的并集
例如
5和4 二进制是101 100
则5|4==5 101
|或 一直变大即 a|b>=max(a,b);
^ 异或
就是a和b转化为二进制找到1和0的交集的补集
例如
5和4 二进制是101 100
则5^4==1 001
5和2 二进制是101 010
则5^2=7 111
与&和|不一样 ^是可大可小
~ 取反
将a的2进制里面的1变成0,0变成1
例如
5取反 101 结果是2 10
>> <<
<< >>相当与乘和除
x<<k x乘2的k次方
x>>k x除以2的k次方
%%%