计算机中的逻辑运算见:https://blog.csdn.net/weixin_37909391/article/details/131441253
&^ bit clear (AND NOT) 按位清零
按位清除操作的规则
- 对于每个位,如果右侧的操作数对应的位为 0,则结果对应的位与左侧的操作数相同。
- 对于每个位,如果右侧的操作数对应的位为 1,则结果对应的位为 0,无论左侧的操作数对应的位是什么。
package main
import "fmt"
func main() {
a := 5 // 二进制表示为 0101
b := 3 // 二进制表示为 0011
result := 0
// 按位与
result = a & b // 0001
fmt.Println(result)
// 按位或
result = a | b // 0111
fmt.Println(result)
// 按位非
result = ^a // 1010
fmt.Println(result)
// 按位清零
result = a &^ b // 0100
fmt.Println(result)
// 按位异或
result = a ^ b // 0110
fmt.Println(result)
}