参见http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.19
如果左侧 *** 作数的提升类型为int,则仅将右侧 *** 作数的最低5位用作移位距离。就像右侧 *** 作数受到掩码值0x1f(0b11111)的按位逻辑AND运算符&(§15.22.1)一样。因此,实际使用的移动距离始终在0到31(含)范围内。
即
-1 >>> 32等同于
-1 >>> 0和
-1 >>> 33等效于
-1 >>> 1和,尤其是混乱,
-1 >>> -1
是相当于
-1 >>> 31
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)