Go 論理演算子 &^

コンピューターでの論理操作については、次を参照してください: https://blog.csdn.net/weixin_37909391/article/details/131441253
&^ ビット クリア (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)
}

おすすめ

転載: blog.csdn.net/weixin_37909391/article/details/131445648