数据类型的默认转换:byte 、char、short --int -- long --float --double
其中long是8字节,而float是4字节,为什么long还能默认转成float呢?
A.long与float的底层存储结构不同
1) long是整数类型,直接是1,08位那么存储;
2) float是浮点类型,是带小数的二进制换算,存储的是有效数字位(科学计数法)
B.float所表示的数值范围要大于long类型所表示的数值范围的;
1) long表示的数值范围:2^63-1
2) float表示的数值范围:3.4*10^38
3.4*10^38 > 2*10^38 > 2*8^38 > 2*2^3^38 = 2*2^114 > 2^63-1
网友评论