我想知道,如果这可能是一个JVM错误?
java版本“1.6.0_0”
OpenJDK运行时环境(IcedTea6 1.4.1)(6b14-1.4.1-0ubuntu13)
OpenJDK 64位服务器虚拟机(构建14.0-b08,混合模式)
class Tmp {
public static void main(String[] args) {
System.out.println("1>>1 = "+(1>>1));
System.out.println("1>>2 = "+(1>>2));
System.out.println("1>>31 = "+(1>>31));
System.out.println("1>>32 = "+(1>>32));
System.out.println("1>>33 = "+(1>>33));
}
}
产生这个当我运行它:
1>>1 = 0
1>>2 = 0
1>>31 = 0
1>>32 = 1
1>>33 = 0
我也得到相同的结果32的任何倍数。
我需要写我自己的右移来检查这个吗?