5、位运算符(7个):
&(按位与)
| (按位或)
^(按位异或)
~(按位取反)
>>(带符号右移)
<<(左位移运算符)
>>>(无符号右移运算符
)
--------------------------------------------------
>>右移:移动N位就是除以2的移动数次幂
<<左移:移动N位就是乘以2的移动数次幂
-
左移3<<1=6 3*2;3<<2=12 3*4; 3<<3 =24 3*8
左移两位0,右边补齐两个0
>>(带符号右移):最高位是0,左边补0;最高位是1;左边补1
>>>无符号右移:无论是最高位是0还是1,左边空出来的位都要用0补齐
^按位异或:相同为false 0 不同为true 1;一个数异或同一个数两次,还是那个数
-
6 ^ 5
110
^ 101
---------
011
5 ^ 9
0101
^ 1001
---------
1100
7 ^ 4
111
100
-----
011 =3 ^4
100
-----
111 = 7
7^4^4=7
& 按位与:0 ---> false;1 ---> true
-
6 & 3
110
& 011
---------
010 =2
| (按位或)
-
6 | 5
110
| 101
---------
111 = 7