Java 数字左、右移
<<:其实就是乘以2的移动的位数次幂。
>>: 就是除以2的移动的位数次幂。
例如:
Java 位运算符:
<<:
3<<2=12; =>3*4=12;
3<<1=6;=>3*2=6;
>>:
6>>2=1 =>6/2(2)=1;
6>>1=3 =>6/2(1)=3;
如果是数字的:
>>:最高位补什么由原来的最高位值而定。
如果最高位0,右移后,用0补空位。
如果最高位1,右移后,用1补空位。
>>>:无论最高为是什么,右移后都用0补.
| 位运算符的细节 | |
|
<< |
空位补0,被移除的高位丢弃,空缺位补0。 |
|
>> |
|
| >>> |
被移位二进制最高位无论是0或者是1,空缺位都用0补。 |
|
& |
二进制位进行&运算,只有1&1时结果是1,否则是0; |
| | | 二进制位进行 | 运算,只有0 | 0时结果是0,否则是1; |
|
^ |
任何相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1 |

浙公网安备 33010602011771号