在算法题中,常常需要用到二进制运算,这里做个总结
移位运算
<< 左移操作符
将左操作数 向左移动 右操作数 指定的位数,空出的位置补0
左移相当于乘
左移 1 位 相当于 乘 2
左移 n 位,相当于 乘 2^n
C
1 |
|
>> 右移操作符
将左操作数 向右移动 右操作数 指定的位数
右移相当于除
右移 1 位 相当于 除以 2
右移 n 位,相当于 除以 2^n, 记得要取整
C
1 |
|
与运算
与运算 判奇偶
二进制 判断 奇偶性,只需判断最后一位 是 0(偶数) 或 1(奇数)
C
1 |
|
C
1 |
|
与运算 -1
C
1 |
|
参考
感谢帮助!