浮点误差怎么解决 为什么浮点数运算会有误差?

为什么浮点数运算会有误差?完全地说,这并不是说“浮点数必须有错误”,而是“使用二进制浮点数来表示十进制小数在大多数情况下都会有错误。”。比如十进制0.1转换成二进制是一个无限循环浮点数,尾数是无限的,

为什么浮点数运算会有误差?

完全地说,这并不是说“浮点数必须有错误”,而是“使用二进制浮点数来表示十进制小数在大多数情况下都会有错误。”。比如十进制0.1转换成二进制是一个无限循环浮点数,尾数是无限的,但实际存储只能存储几个位,自然有错误。根据你的说法,十进制也有错误。π不能完全用十进制表示,1/3不能完全用十进制表示

首先,您需要确定您定义的变量类型。

Float是单精度浮点数类型。如果有任何错误,可以考虑使用double。精度应该更高。