首页 > 解决方案 > 投无损长飘

问题描述

在 Java 中 Long 有 8 个字节。浮点数有 4 个字节

为什么我能做到:

    long a = Long.MAX_VALUE;
    float b = a;

代替:

long a = Long.MAX_VALUE;
float b = (float) a;

结果是:

9223372036854775807 <-- LONG 9223372036854776000,000000 <-- float

那么,为什么如果我失去了精度,我就不必说明确的 cast '(float)' 了?

标签: java

解决方案


推荐阅读