请问为什么int a = -4321 >>>32; 的结果不是0,而是本身呢

解决方案 »

  1.   

    因為java的位移其實是先做mod 32處理的,32 % 32 = 0 所以等於沒位移。
    (33 % 32 = 1 所以位移33等於位移 1)>> 和 << 也是一樣的。
      

  2.   

    int 是32位的所以在右移之前JVM会先mod 32如果==0就不进行右移
      

  3.   

    感谢你们的回复,但我没有查到关于jre mod32的说明,我不大明白这个,可否把全名告诉我或者来解释下这是什么意思,俺是小白,见笑了
      

  4.   


    -_-! mod32 就是某个数除以32后得到的余数,java里用 % 32%32 == 0
    33%32 == 1
      

  5.   

    哈哈,原来MOD是求余或者取模的意思啊,嘿嘿,见笑了,俺英文不好,谢谢大家的热心帮助,感谢大家