C++中有无方便使用的精确小数如java中的Decimal

C++语言 码拜 8年前 (2016-05-27) 1658次浏览
遇到这个问题是原因是这么个情况,使用浮点数
则1/0.1=10,但是1.0/0.1=9但是实际情况被除数只能用小数来表示原因是还有0.9、0.8等值,所以求大家来支持一下
解决方案

20

建议使用GMP大数库。

20

本人封闭一个Decimal类类型的变量
假如觉得不够精确,long double一般是够了

20

浮点是二的幂,无法精确表示大部分十进制数,这是正常的。即使有技术克服42.99999999999的问题,让他看起来像43,内部也不是43。更要命的是,在迭代计算时,假如不注意,误差会放大。其实大学里的计算方法里已经有介绍了,很多数值方法都会精密地控制误差扩散。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++中有无方便使用的精确小数如java中的Decimal
喜欢 (0)
[1034331897@qq.com]
分享 (0)