位运算符
&:按位与
- 1&1=1
- 1&0=0
- 0&0=0
- 0&1=0
5&7=5 21&7=5 5&1=1 5&10=0
-5&10=10
|:按位或
- 1|0=1
- 0|1=1
- 1|1=1
- 0|0=0
3|5=7
~:按位取反
~1100=0011
^:按位异或
相同为0
不同为1
- 1^0=1
- 0^1=1
- 1^1=0
- 0^0=0
<<:按位左移
i<<n 左移n位相当于乘以2的n次方,右边补0
>>:按位右移
i>>n 右移n位相当于除以2的n次方,前提是数据不能丢失,左边一般是0,当然也可能补1
位运算符的现实意义:通过位运算符我们可以对数据的操作精确到每一位