一 位运算概念

1.1 补充知识十进制二进制转换

1.1.1 二进制转换十进制

11011 =1×2^4+1×2^3+0×2^2+1×2^1+1×2^0 =2^4+2^3+2^1+2^0 =16+8+2+1 =27

1.1.2 十进制转换二进制

除二取余法
Screen Shot 2022-01-24 at 16.03.16.png

1.2 位运算分类

1.2.1 逻辑位运算符

位与&

两个数进行位与运算,可以转换成二进制,只有两位都是1的时候才是1,其余情况都是0

位或|

只有两位都是0的时候才是0,其余情况都是1

异或^

只有两位不同为1,其余情况都是0

按位取反~

取二进制(如有需要高位补充0)后,1变0,0变1
Screen Shot 2022-01-24 at 16.29.58.png

1.2.2 位移运算符

左移<<

12 << 3
把12换成二进制以后,把整体向左边移动三位,右边空出来的三位补上0
1100 << 3 = 1100000 (左移一位可以看成是给乘以了个2,那么左移3位就是乘上了3个2)

右移>>

把12换成二进制以后,把整体向右边移动三位。如果移动对象是非负数则高位补0,负数的话高位补1,右移一位可以看成是除2,并且向下取整
1100 >> 3 = 0001