在算法题中,常常需要用到二进制运算,这里做个总结
将左操作数 向左移动 右操作数 指定的位数,空出的位置补0 左移相当于乘 左移 1 位 相当于 乘 2 左移 n 位,相当于 乘 2^n
x << 1
等价于下面
x * 2
将左操作数 向右移动 右操作数 指定的位数 右移相当于除 右移 1 位 相当于 除以 2 右移 n 位,相当于 除以 2^n, 记得要取整
x >> 1
等价于下面
x / 2 取整
二进制 判断 奇偶性,只需判断最后一位 是 0(偶数) 或 1(奇数)
if ((number & 1) == 1) {
// 奇数
} else {
// 偶数
}
if (number & 1) {
// 奇数
} else {
// 偶数
}
num & -2
等价于下面
num - 1
感谢帮助!
本文作者: yiyun
本文链接: https://cloud.tencent.com/developer/article/1970545
版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!