因此,我正在尝试以相当大的精度计算某个值。 C中的表达式是:
long double t = 2.0L+.2L*(sp)+s.missRate*50L;
我的结果是:11.575345
但“真实”结果是:11.575345222971968
我正在使用 long double,这是 AFAIK 中最大的原始类型。我不必使用任何精度库来执行此操作。那么,什么 C 类型具有这种精度?
最佳答案
结果可能足够精确,但您打印的结果四舍五入到小数点后 6 位。提高打印精度,像这样:
long double var;
printf("%.20Lf\n", var); //20 digits after the radix
关于c - 在 C 中获得大约 20-30 位的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139807/