基本运算
几个常用位运算符:&
与 |
或 ^
异或 ~
非 >>
右移 <<
左移 >>>
右移(高位补零)
Tips
- 判断奇偶性:
num&1=0;
为偶数,反之为奇数 - 将末尾置1:
num = num^1;
- 将最后一个1置0:
num = num&(num-1);
例题
升阶算法 - Brian Kernighan算法
在位运算中,得到最右边“1”的位置;找到1不需要一位一位移动,使用x&(x-1)每次就能直接找到最右边的1的存在。详情查看解法链接。
几个常用位运算符:&
与 |
或 ^
异或 ~
非 >>
右移 <<
左移 >>>
右移(高位补零)
num&1=0;
为偶数,反之为奇数num = num^1;
num = num&(num-1);
在位运算中,得到最右边“1”的位置;找到1不需要一位一位移动,使用x&(x-1)每次就能直接找到最右边的1的存在。详情查看解法链接。