Go定义了位运算符,应用在两个数的运算上,会对数字的二进制所有位数从低到高进行运算。
运算符 | 说明 | 示例 |
---|---|---|
& | 按位与,如果相对应位都是 1,则结果为 1,否则为 0 | a & b |
| | 按位或,如果相对应位都是 0,则结果为 0,否则为 1 | a |
^ | 按位异或,如果相对应位值相同,则结果为 0,否则为 1 | a ^ b |
<< | 按位左移运算符,左操作数按位左移右操作数指定的位数 | a << b |
>> | 按位右移运算符,左操作数按位右移右操作数指定的位数 | a >> b |
package main
import "fmt"
func main() {
a := 9
b := 13
fmt.Println("a&b = ",a&b)
fmt.Println("a|b = ",a|b)
fmt.Println("a^b = ",a^b)
fmt.Println("a<<2 = ",a<<2)
fmt.Println("b>>2 = ",b>>2)
}
执行结果如下:
a&b = 9
a|b = 13
a^b = 4
a<<2 = 36
b>>2 = 3