运算规则:如果两数对应的二进制位都为 1,那么结果为 1, 否则结果为 0。
第二个:|按位或运算规则:如果两数对应的二进制位有一个为 1,那么结果为 1, 否则结果为 0。
第三个:^ 按位异或运算规则:如果两数对应的二进制位不同,那么结果为 1, 否则结果为 0。
第四个:<< 左移运算规则:左移N位,就是乘以 2 的 N 次方。
第五个:>> 右移运算规则:右移 N 位,就是除以 2 的 N 次方
举例子:package main
import (
"fmt"
)
func main() {
var a = 15 // 0000 1111
var b = 7 // 0000 0111
var c = a & b // a & b = 0000 0111 = 7
var d = a | b // a | b = 0000 1111 = 15
var e = a ^ b // a ^ b = 0000 1000 = 8
var f = 128 << 3 // 128 乘以 2^3 = 1024
var g = 128 >> 3 // 128 除以 2^3 = 16
fmt.Println("c = ", c)
fmt.Println("d = ", d)
fmt.Println("e = ", e)
fmt.Println(f)
fmt.Println(g)
}
就这些。