位运算的概念
1.逻辑运算符
包括位与、位或、异或、按位取反。
1.1位与 &
原理:将十进制转换成二进制,两位都为1则结果为1,否则结果为0
12 & 10 = 8
1100 & 1010 = 1000
1.2位或 |
原理:将十进制转换成二进制,两位都为0则结果为0,否则结果为1
12 I 10 = 14
1100 | 1010 = 1110
1.3异或 ^
原理:将十进制转换成二进制,只有当两个为不同的时候结果为1,否则结果为0
12 ^ 10 = 6
1100 ^ 1010 = 0110
1.4按位取反 ~
原理:将十进制转换成二进制,一元运算符,1变0, 0变1
8位整数:~1010 = 11110101
16位整数:~1010 = 1111111111110101
2.位移运算符
包括左移和右移。
2.1左移 >>
原理:将十进制转换成二进制,二元运算符,左移是将所有位向左偏移,在右边补0
1100 << 3 =1100000
2.2右移 <<
原理:将十进制转换成二进制,右移是将所有位向右偏移,左边高位:非负数补0,负数补1
1100 >> 3 = 1
x>>y: 也就相当于右移一位则x除2,并且向下取整