位运算
位运算符
1 2 3 4 5 6 7 8 9 10 11
| << //左移
>> //右移
| //或
& //与
~ //取反
^ //异或
|
实战使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // 判断奇偶 x%2 == 1 -> x&1 == 1 x%2 == 0 -> x&1 == 0
x >> 1 -> x/2
// 清零最低位的 1 x = x&(x-1)
// 负数的存储方式为补码,补码:除了符号位取反然后 + 1 // 4 的二进制 100 ,在 Int8 中,完整表示是 0000 0100 // 对应-4 得到顺序 1000 0100 -> 1111 1011 -> 1111 1100 // 得到最低位的 1
x&-x
// x 与上 x 取反等于 0 x&~x = 0
|
实战题目
- 52.N 皇后
- 191.位 1 的个数
- 231.2 的幂
- 338.比特位计数
- 190.颠倒二进制位