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