遇到这个问题是原因是这么个情况,使用浮点数
则1/0.1=10,但是1.0/0.1=9但是实际情况被除数只能用小数来表示原因是还有0.9、0.8等值,所以求大家来支持一下
则1/0.1=10,但是1.0/0.1=9但是实际情况被除数只能用小数来表示原因是还有0.9、0.8等值,所以求大家来支持一下
解决方案
20
建议使用GMP大数库。
20
本人封闭一个Decimal类类型的变量
假如觉得不够精确,long double一般是够了
假如觉得不够精确,long double一般是够了
20
浮点是二的幂,无法精确表示大部分十进制数,这是正常的。即使有技术克服42.99999999999的问题,让他看起来像43,内部也不是43。更要命的是,在迭代计算时,假如不注意,误差会放大。其实大学里的计算方法里已经有介绍了,很多数值方法都会精密地控制误差扩散。