孙传磊 发表于 2013-2-28 19:35
java里就是这样规定的,下面的例子说明了这一点:
public class ByteShift {
public static void main(S ...
关于当右移的运算数是byte 和short类型时,将自动把这些类型扩大为 int 型,这个确实是java规定。但是移位不是只能是32位或者64位吧?在早期的计算机,存储字长是8位或者16位的,这些移位取模时就应该是字长的值,即8或16,只对32或64的情况有意义的话应该是在32位字长的计算机,也就是现在大多数的计算机。