位运算知识点

位运算知识点

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