看如下代码,我本以为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中&的优先级^和|高,如下
看如下代码,我本以为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中&的优先级^和|高,如下