VS2010でGMP/MPIRを試していますが、入力1010の出力が0.999999999999999999909e101である理由がわかりません。
同じ結果0を使用して、mpf_out_str呼び出しでn_digitsに1000を入力したため、すべての数字が表示されると思います。そして、なぜ9と909e101なのか?
また、巨大な数値をどのように入力しますか。gmp_scanfは数百桁を処理していないようです。
#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);
}