& 按位与:同汇编中的and命令一样,是对数据的二进制形式按位进行与运算,1&1=>1、1&0=>0、0&0=>0;
| 按位或:同汇编中的or命令,对数据的二进制形式按位进行或运算,1|1=>1、1|0=>1、0|0=>0;
&可以把操作对象相应位设为0,5&10111111,将第六位设为0;
|可以把操作对象相应位设为1,5&01000000,将第六位设为1.
~按位取反:将操作对象二进制位全部取反;
^ 按位异或:对两个操作对象进行按位对比,相同为0,不同为1;
<<按位左移:同汇编指令shl,i<<3,将i逻辑左移3位,低位用0填充;相当于i = i × 2^n,左移n位相当乖以2的n次方;
>>按位右移:同汇编指令shr,i>>3,将i逻辑右移3位,原先最高位是0则高位补0,是1则高位补1,右移n位相当除以2的n次方。
关于>>和<<,虽然i = i × 8 和 i << 3,结果一样,但i<<3执行速度要快于i = i × 8,因为i = i × 8要运用乖法换算器,i<<3直接左移就可以了,>>同理。