【golang】位操作符
golang和许多高级语言一样,提供了许多位操作符
<< >> & &^ | ^
其它的位操作符都很熟悉了,左移,右移,按位与,按位或,异或
多了一个不怎么熟悉的位运算符&^,这个在官方的说法是 and not,是按位置零
看一个小例子
x := 5
fmt.println(x &^ 1)
结果是多少呢,5的二进制表达
0000 0101
1的二进制表达
0000 0001
按位置零
0000 0101
&^ 0000 0001
----------------- ---[10进制]--> 4
0000 0100
参照数1的二进制,有1的位,都会被置为0