当我在GMP库中的MPQ变量上调用get_d()时,我最多只能获得六位数。
C ++应该为双精度提供8个字节或~15个数字。为什么我只得到六位数?
答案 0 :(得分:3)
我发现为什么六位数是标准的 -
默认情况下,当使用cout在C ++中输出双精度数时,精度设置为六位有效数字。您可以通过执行以下操作来修改此精度:
double bignumber = 12.32576158213;
cout << setprecision(10);
cout << bignumber << endl;
输出为12.32576158。