我正在尝试使用 VS 2010 的 GMP/MPIR,我不明白为什么输入 10 10 的输出为 0.999999999999999999909e101。
我希望所有数字都能显示,因为我在 mpf_out_str 调用中为 n_digits 输入了 1000,使用 0 相同的结果。为什么是 9 和 909e101?
另外,您将如何输入大量数字, gmp_scanf 似乎无法处理 100 位数字。
#include <mpirxx.h>
main()
{
mpf_t tt, t2;
mpf_init(tt);
mpf_init(t2);
gmp_scanf("%Fe\n", tt);
gmp_scanf("%Fe\n", t2);
for (int i = 0; i < 100; i++)
mpf_mul(tt, tt, t2);
mpf_out_str(stdout, 10, 1000, tt);
mpf_clear(tt);
mpf_clear(t2);
getc(stdin);
}