java double数据类型运算问题

如题所述

第1个回答  2019-07-28
浮点数
值没办法用
十进制
来精确表示的原因要归咎于CPU表示浮点数的方法。这样的话您就可能会牺牲一些精度,有些浮点数运算也会引入误差。以上面提到的情况为例,2.4的二进制表示并非就是精确的2.4。反而最为接近的二进制表示是
2.3999999999999999。原因在于浮点数由两部分组成:指数和尾数。浮点数的值实际上是由一个特定的数学公式计算得到的。您所遇到的精度损失会在任何操作系统和
编程环境
中遇到。float类型的变量只有7位的精度,而double类型的变量有15位的精度
相似回答