如何用C语言(C99)打印精度为10的大双精度值?
double d1 = 1100200300400500600.0000000001;
double d2 = 1100200300400500600.0000000001;
double d3 = d1 + d2;
printf("???", d3);
预计产量:2200400600801001200.0000000002
最佳答案
您需要为c使用任意精度库。
如果要存储整数,可以使用GMP
。
如果要存储大型浮点值,我建议您使用MPFR
,这是一个支持浮点类型的库。MPFR
基于GMP
。
关于c - Printf在C中具有高精度的大 double 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35651574/