Go语言位运算符|与、或、异或、左移、右移
第一个:& 按位与
运算规则:如果两数对应的二进制位都为 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) }
就这些。