位运算符:
运算符 | 名字 | 说明 | 示例 |
& | 按位与 | 参与运算的两数各对应的二进位相与 | 3&5结果为1 |
| | 按位或 | 参与运算的两数各对应的二进位相或 | 3|5结果为7 |
^ | 异或 | 参与运算的两数各对应的二进位相异或,当 两对应的二进位相异时,结果为 1 | 3^5结果为6 |
<< | 左移 | 左移n位(乘以2的n次方),左边丢弃,右边补 0 | 3<<1结果为6 |
>> | 右移 | 右移n位(除以2的n次方),对无符号数,高位补 0,对于有符号数,高位补符号位 | 3>>1结果为1 |
X&1==1or==0,可以用 X&1 判断奇偶性,X&1>0 即奇数。
X = X & (X-1) 清零最低位的1
X & -X => 得到最低位的1
X&~X=>0
136. 只出现一次的数字、Leetcode的Go实现_李歘歘
137. 只出现一次的数字 II、Leetcode的Go实现_李歘歘的博客
231. 2 的幂、Leetcode的Go实现_李歘歘的博客
342. 4的幂、Leetcode的Go实现_李歘歘的博客