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 
}

posted @ 2021-01-26 11:14  phper-liunian  阅读(246)  评论(0编辑  收藏  举报