JAVA对小于4个字节的内置类型在做移位操作时,会先转换为int型,然后就是位的填充了(除了带符号的移位,都是填充0)
对于int类型,移位后,还是int类型,比如int i = 1; i << 16; 这时候i就变成65536了,如果正好移32位,int就是0了。
对于int强制转换成long,其实就是把int扩展成64位,高32位填0了
本文详细介绍了Java中移位操作的处理方式,包括对小于4个字节的内置类型的处理,int类型的移位操作,以及int类型转换为long类型后的表现形式。
JAVA对小于4个字节的内置类型在做移位操作时,会先转换为int型,然后就是位的填充了(除了带符号的移位,都是填充0)
对于int类型,移位后,还是int类型,比如int i = 1; i << 16; 这时候i就变成65536了,如果正好移32位,int就是0了。
对于int强制转换成long,其实就是把int扩展成64位,高32位填0了

被折叠的 条评论
为什么被折叠?