一 位运算概念
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 十进制转换二进制
除二取余法
1.2 位运算分类
1.2.1 逻辑位运算符
位与&
两个数进行位与运算,可以转换成二进制,只有两位都是1的时候才是1,其余情况都是0
位或|
异或^
按位取反~
1.2.2 位移运算符
左移<<
12 << 3
把12换成二进制以后,把整体向左边移动三位,右边空出来的三位补上0
1100 << 3 = 1100000 (左移一位可以看成是给乘以了个2,那么左移3位就是乘上了3个2)
右移>>
把12换成二进制以后,把整体向右边移动三位。如果移动对象是非负数则高位补0,负数的话高位补1,右移一位可以看成是除2,并且向下取整
1100 >> 3 = 0001