1.关于位移
public class Shifty {
public static void main(String[] args) {
int distance = 0;
for (int val = -1; val != 0; val <<= 1){
distance++;
}
System.out.println(distance);
System.out.println(-1<<32);
System.out.println(-2>>>31);
}
}
对于带符号和不带符号的位移 >> 和 >>> 估计都没有什么问题。 需要注意的是 位移是先取模的。 如果是 int型的 位移 32 先 32%32 然后 再位移 所以说-1<<32 == -1<<0