本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。
位运算
1 | & bitwise And |
& 运算
在GO中, &
运算符在两个整型操作数中执行按位 AND
操作,
1 | Given operands a, b |
AND
运算符具有选择性地把整形数据地位清除为0地好的效果。例如,我们可以使用&
运算符去清除(设置)最后4个最低有效位(LSB)全部为0
1 | func main(){ |
奇数的二进制数末尾为1,可以与1进行&操作判断是否是奇数
1 | func main(){ |
| 操作符
|
对其整型操作数执行按位或
操作
1 | OR(a, b) = 1; when a = 1 || b = 1 |
^ 操作符
在 Go 中 按位 异或
操作是用 ^
来表示的。 异或
运算符有如下的特点:
1 | Given operands a, b |
与 1 进行异或的位被翻转
可以利用 异或
运算去比较两个数字的符号是否一样。当 (a ^ b) ≥ 0
(或相反符号的 (a ^ b) < 0
)为 true
的时候,两个整数 a,b 具有相同的符号
1 | func main() { |
^ 作为取反位运算符(非)
XOR
运算符 ^
,作为一元取反运算符作用于一个数字
1 | package main |
&^ 操作符
&^
操作符意为 与非
,是 与
和 非
操作符的简写形式
1 | Given operands a, b |
<< 和 >> 操作符
Go 使用 <<
和 >>
来表示左移运算符和右移运算符
1 | Given integer operands a and n, |
1 | package main |
左移一位相当于除以2,右移一位相当于乘以2
1 | package main |
本文作者:Mosquito
本文链接: http://example.com/2022/04/25/Golang%E4%B8%AD%E7%9A%84%E5%A5%87%E6%8A%80%E6%B7%AB%E5%B7%A7/
Mosquito 天使之吻手打
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。