java基础 位运算符 >>

时间:2022-06-03 22:02:47
“x<<y"是位运算符当中的"左移"运算,其中x是左移的数,y是左移的位。如:
2<<2的运算过程:
2转化为二进制是
0000 0010
那么左移2位得到
0000 10 00即得到结果为8
总结:左移一位相当乘以2,左移n位相当于乘以2的n次方。

右移<<是:
右移一位相当于整除2。

上面这两个是不带符号的移位运算。

还有一个:>>>这个是带符号的右移



>>1相当于除2
>>3就是除3次


移位运算符

正负数都用补码作运算,>>和<<低位用0来填充,高位用符号位填充,若>>>(无符号右移)都0来填充