2

現在、UVAオンラインジャッジでいくつかの問題を解決していますが、非常に大きな整数値(15桁以上の場合もあります)を格納する必要があるシナリオに遭遇しています。サードパーティのライブラリを使用せずにそれを行う方法はありますか?BigInteger[ Javaのクラスに似たものはありますか?]。

4

5 に答える 5

2

整数の捕虜については、http://en.wikipedia.org/wiki/Exponentiation_by_squaring

GMPをお勧めします

このリンクを参照してください:-非常に大きな整数を処理するC++

于 2012-10-17T15:33:59.467 に答える
1

サードパーティのライブラリが必要です(独自のライブラリを作成したい場合を除く)。GMPまたはMPIRが最適です。

于 2012-10-17T15:30:40.540 に答える
1

いいえ、標準ライブラリにはそのような構造はありません。しかし、いつでもGMP、MPFRなどをチェックアウトできます。Googleで検索するだけです。

于 2012-10-17T15:30:55.283 に答える
1

GNUのlibgmpを使用して、Cでの任意精度の演算を行うことができます。

于 2012-10-17T15:31:37.357 に答える
0

最も使いやすいのはBoostMultiprecisionです

http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/index.html

これが簡単な例です

#include <boost/multiprecision/cpp_int.hpp>

using namespace boost::multiprecision;

int main(){

     cpp_int          a_really_big_number("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000");
     a_really_big_number += 7;

}
于 2013-12-23T17:57:47.810 に答える