>>>是无符号右移,在高位补零

>>是带符号的右移,如果是正数则在高位补零,负数则补1

int a = -1;
System.out.println(a>>1);
System.out.println(a>>>1);
-1
2147483647

1111 1111 1111 1111 1111 1111 1111 1111       -1

1111 1111 1111 1111 1111 1111 1111 1111       -1

0111 1111 1111 1111 1111 1111 1111 1111       2147483647

05-11 22:38