位运算
位运算
位运算的概念:
分为逻辑位运算符 和 位移运算符
按位与
& (都 1 为 1)
0 1 1 0 1 0 1
1 0 1 1 0 1 1
= 0 0 1 0 0 0 1
按位或
| (有 1 为 1 )
1 0 0 1 1 0 1
0 1 1 0 1 0 0
= 1 1 1 1 1 0 1
按位异或
\(\oplus\) (不 同 为 1)
1 0 1 0 1 0 1
0 1 0 1 1 1 0
= 1 1 1 1 0 1 1
按位取反
~ (0 -> 1, 1 -> 0)
1 0 1 0 1 0 1
~
= 0 1 0 1 0 1 0
左移 <<
1 0 0 1 0 1
左移一位 (相当于十进制数 * 2 )
1 0 0 1 0 1 0
n <<= i; // n 左移 i 位, n = n * (2 ^ i);
右移 >>
1 0 0 1 1 0
右移一位 (相当于十进制数 / 2)
1 0 0 1 1
n >>= i; // n 右移 i位,n = n / (2 ^ i);

浙公网安备 33010602011771号