golang 位清除
位清除
c = a &^ b 位清除,即是c的值b上二进制上1的位,把a清空为0,其他的保留a位上的值。【从根本上说,位清除就是 a & (^b) a与b的反的值逻辑运算】
package main
func main() {
a := 0110
b := 1011 // ^b = 0100
c := a &^ b // 等价与 c = a & (^b) = 0110 & 0100 = 0100
fmt.Println(c) // 8
}