位运算符
就是二进制位的运算
运算符
<< 左移
>> 右移
>>> 无符号右移
& 与运算
| 或运算
^ 亦或运算
~ 反码
与运算(&)
6&3=2
110
&011
-------
010=2
或运算(|)
6|3=7
110
| 011
------
111=7
异或运算(^)
6^3=5
110
^ 011
---------
101=5
反码
6取反加1就是-7+1
那么取反就是-7
~6=-7
左移运算<<
3<<2=12(3*2(2))
00000000000000000000000000000110
00000000000000000000000000000110<<
--------------------------------------
00000000000000000000000000011000=12
3<<3=24(3*2(3))
左移几位其实就是该数据乘以2的几次方。<<可以完成2的次幂运算
右移运算符>>
>>对于高位出现的空位,原来高位是什么就用什么补这个空位。
>>>无符号右移:数据进行右移时,高位出现的空位,无论原高位是什么,空位
都用0补