无符号右移 >>>
若该数为正数,则高位补0,若为负数,则右移后高位同样补0
有符号右移 >>
若该数为负数,则右移后高位补1.
(即移位之后要补上之前的符号位的值)
例子
public static void main(String[] args) {
int a = 16;
int b = -16;
System.out.println(a >>> 1);
System.out.println(a >> 1);
System.out.println(b >>> 1);
System.out.println(b >> 1);
}
8 8
2147483640
-8