看如下代码,我本以为a1, a2是相同的
package main import "fmt" func main() { b, c, d := 1, 0, 1 a1 := b ^ c&(^d) // 1 ^ a2 := c ^ b&(^d) // 0 ^ fmt.Println(a1, a2) // 1 0 }
但结果却是不同的,在golang中&的优先级^和|高,如下
京公网安备 11010502049817号