如何在C中保持数字的精确度

时间:2017-09-30 20:50:08

标签: c precision

我正在尝试使用这段代码将C中的大数字存储在变量“num”中。

Context

然而,在“886000000”之后它会失去精确度,它会向上舍入为0.

我认为在C中,它以双重格式存储数字。如何保持这个精度更大的数字?

1 个答案:

答案 0 :(得分:1)

在大多数实现中,double具有53位精度。那是大约17个十进制数字,这是你似乎有的。

如果可以,您可以使用long double;在英特尔平台上,这将为您提供另外11位精度。

除此之外,您还需要找到一个多精度库。