我们都知道Java的基本数据类型内存中都有一个固定的位数(内存分配空间),如byte占8位,int占32位等.正因如此,当把一个低精度的数据类型转成一个高精度的数据类型时,必然会涉及到如何扩展位数的问题.这里有两种解决方案: (1)补零扩展:填充一定位数的0. (2)补符号位扩展:填充一定位数的符号位(非负数填充0,负数填充1). 对于无符号类型(相当于都是非负数)与有符号类型中的非负数部分,这两种方法没有区别,都是填充0:对于有符号类型中的负数部分,这两种方法就会产生差异了,补零扩展会填充0,…