最近在重温一些java的基础知识,翻阅think in java中关于移位这块时,提到了如下的一段文字:
针对char,byte和short类型的移位操作,都将先转换为int型,再进行移位,最终结果也将是int型。
但是只有数值右端的低5位才有效,是为了防止移位超过int自身的位数。译注:因为2的5次方是32,int自身是32位。
以上的文字我在看的时候,感觉自己不是特别理解,不知道是否清楚的人举一个例子帮助我解释以下呢?
针对char,byte和short类型的移位操作,都将先转换为int型,再进行移位,最终结果也将是int型。
但是只有数值右端的低5位才有效,是为了防止移位超过int自身的位数。译注:因为2的5次方是32,int自身是32位。
以上的文字我在看的时候,感觉自己不是特别理解,不知道是否清楚的人举一个例子帮助我解释以下呢?