|
位操作符:
可以直接操作二进制数位的内容;~是一个单目位操作符,它可以根据一个数字计算另外一个数字,这两个数字所有二进制数位的内容都不同(按位取反),使用的时候这个符号应该写在数字前面
双目位操作符:包括按位与(&),按位或(|)以及按位异或(^),他们都可以把两个数字对应二进制数位的内容做计算。
按位与(&)
可以把两个数字对应数位的内容做计算;只要一个数位的内容是0则与计算以后的结果就是0- 3 0000 0011
- & 5 0000 0101
- 0000 0001
复制代码 任何数位内容和0做按位与结果一定是0,任何数位内容和1做按位与结果保持不变,按位与可以用来获得某些数位的内容,按位与还可以把某些数位的内容设置成0.
按位或(|)
可以把两个数字对应数位的内容做或计算;只要一个数为的内容是1则或计算以后结果就是1- 3 0000 0011
- | 5 0000 0101
- 0000 0111
复制代码 任何数位内容和0做按位或结果保持不变;任何数位内容和1做按位或结果就是1,按位或可以把某些数位的内容设置成1
按位异或(^)
可以把两个数字的对应数位内容做异或计算,如果两个数位内容一样则异或结果是0,否则结果是1- 3 0000 0011
- ^ 5 0000 0101
- 0000 0110
复制代码 任何数位内容和0做按位异或保持不变;任何数位内容和1做按位异或一定改变,按位异或可以把某些数位的内容变成相反内容- 'a' 97 0110 0001
- 'A' 65 0100 0001
- ch &=32;
- ch |=32;
- ch ^=32;
复制代码 移位操作符
可以把一个数字里所有二进制数位的内容统一向左或向右移动n个位置
'>>'表示向右移位
' |
|