why is 1>>32 == 1?
问题 I'm wondering if perhaps this is a JVM bug? java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu13) OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode) 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)); } } produces this when I run it: 1>>1 = 0 1>>2 = 0 1>>31 =