0

大きな整数のGMPライブラリに問題があります。関数を使用して大きな整数を設定します

mpz_t num;

mpz_init(num);

mpz_set_str(num、 "123456789012345678901234567890123456789012345678901234567890123456789012341234567890123456789012345678901234567890123456789012345678901234567890123412345678901234567890123456789012345678901234567890123456"、10);

この数値gmp_printf( "%Zd"、num)を出力すると、結果が間違っています。制限はありますか?数が多すぎませんか?私は思わない...

4

2 に答える 2

1

これを試して:

mpf_set_default_prec(5*1024);

あなたのmpz_initの前に。

幸運を!

于 2014-02-19T04:44:35.927 に答える
0

おそらく問題は、numを初期化していないことです。整数演算のGMP関数は、すべての整数オブジェクトが初期化されていることを前提としています。

mpz_init(num);
于 2011-06-03T16:30:03.710 に答える