为什么Java中的向下转换顺序为< - long?

时间:2016-08-31 23:21:02

标签: java casting

我的教科书上写道:

  

从较大类型转换为较小类型称为向下转换,   也称为范围缩小。

     

Byte< - short< - int< - float< -   很长< - double

为什么在向下转/缩小名单上的长度高于浮动?

浮点数表示的值范围是否远远超过long表示的范围?

,例如,在投射类型时(假设f代表一个浮点值,l代表一个长整数),你可以做f = l,但这需要一个显式的强制转换:l =(long)f。这是否表明浮动应该高于向下转发列表中的长?

1 个答案:

答案 0 :(得分:0)

longdouble都是64位,而float只是32位数据类型。因此,需要向下转换才能将long的64位数转换为32位。

编程时,float具有更宽的数字范围,但long使用其64位来创建更精确的数字。当你需要在不太精确的数字上节省空间时,这就是你使用float的原因,但对于精确度很重要的东西(即货币,科学计算等),long是你应该的。正在使用。

如果您有点好奇,可以查看Java Doc&#39 {s} {/ 3}}