为什么我们需要长型?

时间:2014-02-19 19:23:27

标签: types

long 使用8个字节, float 也使用8个字节。但 float 可以表示 long 的所有值,并且具有比 long 更宽的范围。 那么,为什么我们需要 long 类型?

1 个答案:

答案 0 :(得分:0)

考虑一下这个事实,正如你所指出的那样,long和float都是8个字节长。这意味着它们都可以表示完全相同数量的值 - 即2 ^ 64个不同的值。

如你所说,浮动可以代表比长期更广泛的价值范围。因此,浮点数必须不能表示沿该范围的每个值。浮点数是近似值。

例如,long可能能够表示100,101和102,而float可能只能表示100和102.这些只是示例,但概念成立 - 浮点数无法准确表示每个值沿着它的范围。

两种数据类型的“解释”方式不同。如果它是一个长整数位“00110101”则转换为一个数字,如果它是一个浮点数则转换为完全不同的数字。

您可以在Java语言规范中阅读有关long和float的完整详细信息:

整数类型:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.1

浮点类型:http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3