位运算知识点
1.位运算是什么
位运算是很多算法优化的基础和实现的条件,可以帮助我们理解计算机运算过程
(位运算是运用二进制计算的)
tips:复习二进制的原,反,补码
原码:指的就是原数的二进制形式,正数最高位为1,负数为0
反码:最高位不变,其它位取反(1变0,0变1)
补码:反码+1
(正数的原,反,补码相同)
2.有哪些位运算
| 运算 | 性质 | 常见用途 |
|---|---|---|
& 与 | 同一为一:数位与1,保持不变,与0清零 | 用来对数位清零 |
| | 或 | 有一为一:数位或0,保持不变,或1置 1 | 用来对数位置 1 |
| ^ 异或 | 相异为一:数位异或0保持不变,异或1取反 | 用来对数位取反 |
| << 左移 | 左移,多余溢出,缺位补 0 | 左移 1位相当于乘 2 |
| >> 右移 | 右移,多余溢出,缺位补 \(0\) | 右移1位相当于除以 2 |
| ~ 非 | 按位取反, 1 变 0 , 0 变 1 |
