public class Myclass
{
public static void main(String[] args)
{
float af=5.2345556f;
System.out.println(af);
}
}
为什么结果是5.2345557而不是5.2345556?
答案 0 :(得分:1)
因为,您无法以位为单位表示值5.2345556,因此将使用近似值。这是浮点运算的特征
将无数多个实数压缩成有限数量的位 需要近似的表示。虽然有无限的 许多整数,在大多数程序中,整数计算的结果都可以 存储在32位。
相比之下,给定任意固定位数,大多数计算用 实数会产生不可能精确的数量 使用那么多位来表示。因此结果一个 浮点计算通常必须舍入才能适应 进入有限的表示。这个舍入误差是 浮点计算的特征。