Golang中位运算的理解于应用场景
一:位运算的介绍
百度百科的介绍,大家作为一个参考说明
https://baike.baidu.com/item/%E4%BD%8D%E8%BF%90%E7%AE%97/6888804?fr=aladdin
位运算都是在二进制的基础上进行运算的,所以在位运算之前要先将两个数转成二进制
二:常用的位运算符号介绍
& 与 AND | 或 OR ^ 异或 XOR &^ 位清空 (AND NOT) << 左移 >> 右移
三:位运算的用法
1. & 与 and
& 只有两个数都是1结果才为1 例:var i int8 = 20 var j int8=15 求i&j 首先我们需要将声明变量,转换成二进制形式进行位与运算
i转成二进制为0001 0100, j转成二进制为0000 1111
0001 0100 & 0000 1111 = 0000 0100
0000 0100对应的十进制就是4
2. | 或
或 两个数有一个是1 结果就是1 0001 0100 | 0000 1111 = 0001 1111 0001 1111转成十进制就是31 20 | 15 = 31