1 是 int 类型,为什么 short s = 1 不报错,而 1.1 是 double 类型 float f = 1.1 却报错?
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
因为int如果超了short范围,会被截取低位部分,没超会正常赋值.
但double类型是不可预测的,可能很简单的数字都占满了所用的字节,比如:0.5,在内存中其实表示为:0.499999999999
这样的数字截取低位部分就是另一个数字了,这显然不能容许.所以float赋值小数必须加标记,便于编辑器在编译期间检查.
添加回答
举报
0/150
提交
取消