& 按位与
| 运算符 | 运算 | 范例 | 结果 |
| & | 按位与 | 0 & 0 | 0 |
| 0 & 1 | 0 | ||
| 1 & 1 | 1 | ||
| 1 & 0 | 0 | ||
| | | 按位或 | 0 | 0 | 0 |
| 0 | 1 | 1 | ||
| 1 | 1 | 1 | ||
| 1 | 0 | 1 | ||
| ~ | 取反 | ~0 | 1 |
| ~1 | 0 | ||
| ^ | 按位异或 | 0 ^ 0 | 0 |
| 0 ^ 1 | 1 | ||
| 1 ^ 1 | 0 | ||
| 1 ^ 0 | 1 | ||
| << | 左移 | 00000010 << 2 | 00001000 |
| 10010011<<2 | 01001100 | ||
| >> | 右移 | 01100010>>2 | 00011000 |
| 11100010>>2 | 11111000 | ||
| >>> | 无符号右移 | 01100010>>>2 | 00011000 |
| 11100010>>>2 | 00111000 |
<<:就是将操作数所有二进制位向左移动指定的位数,左边移走的部分舍去,右边的空位补0;
>>:将操作数所有进制位向右移动指定位数。运算时左边的空位根据原数的符号位补0或1(原来是负数的补1,原来是正数的补0)右移的部分舍去。
对于二进制数来说,作则高位是0位正数,左侧高位是1位负数。
>>>:将操作数所有二进制位不考虑正负向右移动指定的位数。左边的空位全部补0;右边移走的部分舍去。



