我的教科书上写道:
从较大类型转换为较小类型称为向下转换, 也称为范围缩小。
Byte< - short< - int< - float< - 很长< - double
为什么在向下转/缩小名单上的长度高于浮动?
浮点数表示的值范围是否远远超过long表示的范围?
,例如,在投射类型时(假设f代表一个浮点值,l代表一个长整数),你可以做f = l,但这需要一个显式的强制转换:l =(long)f。这是否表明浮动应该高于向下转发列表中的长?
答案 0 :(得分:0)
long
和double
都是64位,而float
只是32位数据类型。因此,需要向下转换才能将long
的64位数转换为32位。
编程时,float
具有更宽的数字范围,但long
使用其64位来创建更精确的数字。当你需要在不太精确的数字上节省空间时,这就是你使用float
的原因,但对于精确度很重要的东西(即货币,科学计算等),long
是你应该的。正在使用。
如果您有点好奇,可以查看Java Doc&#39 {s} {/ 3}}