位运算就是讲数值转换为二进制,按位操作。go语言有四个相关的操作符。

或|:都是0才是0,否则都是1
与&:都是1才是1,否则都是0
^异或:
二元:a ^ b --> 对应位的值相同则为0,不同则为1
一元:^a --> 按位取反 1变0,0变1 (假设a是int类型,一共是64位,每一位取反才是正确的结果,含正负号+-)
位清空&^:
对于 a &^ b -->
对于b的每个数值:如果是0,取a对应位的数;如果是1,结果位是0

补充:
移位运算:number >> 4 讲数字转为二进制,整体向右移动4位,再将结果转为十进制;
number << 4 讲数字转为二进制,整体向左移动4位,再将结果转为十进制