不知道啊。
int型的只有32位啊。你移动了33位。明显不对。
最多移动32位啊否则没意义了。 -33 >> 31 的结果就是 -1。。这是一定的

解决方案 »

  1.   

    我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
      

  2.   

    我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
      

  3.   

    主要要看ishr指令是如何处理的
      

  4.   

    FBug(花知) 
    好象是我错了,那问题还是一样的,正数补0的话,挪了32位也就全变成0了但是我并没有移动32位,我只是拿-33做个例子罢了
      -50 >> 32 = -50 ;是一样的
    没有人真正明白么,还是不懂啊
      

  5.   

    //我觉得a>>n是按a>>(n%32)进行处理的. (猜得)
    //主要要看ishr指令是如何处理的看来我猜对了.刚查了Inside JVM, 右移指令  ishr
    如a>>n
    所移位数由n的最低5位决定, 相当a>>(n&0x1f) 也就是a>>(n%32)
                 ===========
      

  6.   

    这么高深,pf,pf
    分都给你了!!
      

  7.   


    16      10     2
    0x1f    31     11111原来 a>>(n&0x1f) 就是a>>(n%32) 哦。。这么妙啊。不是吧。。我测试了:-33 >> 33 后也是 -33 啊。。