java中运算符<<、>>和>>>的区别
>>:带符号右移
表示右移多少位,如果该数为正,则高位补0,若为负数,则高位补1
例:10 >> 2,结果是2;-10 >> 2,结果是-3;-3 >> 2,结果是-1。
(10的二进制是1010,右移两位是10,十进制表示2)
<<:左移
与右移运算法>>对应的左移运算符,表示将向左移动多少位,在低位补0
例:10 << 2,结果是40;-10 << 2,结果是-40。
(10的二进制是1010,左移两位是101000,十进制表示40)
>>>:无符号右移
右移n位,左边一概补0,当为正数,与>>无区别
例:10 >>> 2,结果是2;-10 >> 2,结果是1073741821。
注:没有<<<运算法