位运算符入门_Go语言的位操作·只有当对应位都是·例如121100右移2位结果为30011
位运算符入门:Go语言中的位操作
在Go语言中,位运算符是用来对整数类型的值进行按位操作的。这些运算符包括按位与、按位或、按位异或、左移和右移。下面,我们就来通俗地了解一下这些位运算符。
一、按位与(&)运算符
按位与运算符会检查两个整数的每一位,只有当对应位都是1时,结果位才为1,否则为0。
举个例子,12(1100)和10(1010)进行按位与运算,结果为8(1000)。
12(1100) | 10(1010) | 结果(1000) |
---|
只有第三位两个数字都是1,所以结果的第三位是1,其余位均为0。
二、按位或(|)运算符
按位或运算符只要对应位中有一个为1,结果位就为1。
比如,12(1100)和10(1010)进行按位或运算,结果为14(1110)。
12(1100) | 10(1010) | 结果(1110) |
---|
只要对应位中有一个为1,结果位就为1。
三、按位异或(^)运算符
按位异或运算符当对应位不同时,结果位为1,相同时结果位为0。
例如,12(1100)和10(1010)进行按位异或运算,结果为6(0110)。
12(1100) | 10(1010) | 结果(0110) |
---|
只有第一和第二位不同,所以结果的第一和第二位是1,其他为0。
四、左移(<<)运算符
左移运算符将一个数的二进制表示向左移动指定的位数,右边用0填充。
比如,3(0011)左移2位,结果为12(1100)。
3(0011) | 左移2位 | 结果(1100) |
---|
原数值的二进制形式向左移动两位,右边填充0。
五、右移(>>)运算符
右移运算符将一个数的二进制表示向右移动指定的位数,左边用0或符号位填充。
例如,12(1100)右移2位,结果为3(0011)。
12(1100) | 右移2位 | 结果(0011) |
---|
原数值的二进制形式向右移动两位,左边填充0。
以上介绍了Go语言中五种主要的位运算符及其使用方法。这些运算符在处理二进制数据、优化性能、实现低级别数据操作时非常有用。
为了更好地掌握这些运算符,建议多进行实际编程练习,理解其在不同场景中的应用。