2017-02-19 3 views
1

非常に大きなデータ型を使用する方法が必要です。 intは通常4バイトですが、私は536,870,912バイトのデータ型が必要です。文字列に変換、追加、減算、乗算、除算などを行う必要があるため、配列を使うことはできません。C++で任意の数を取得するには?

このような大きなデータ型を作成または使用するにはどうすればよいですか?私はuint4294967296_tが必要です:P

メモ構造体をビットフィールドで使用しようとしましたが、サイズが十分ではなく、その値を使って値を変換できません。

+4

おそらく、[ライブラリ](https://gmplib.org/)を使用しますか? –

+1

GregはGIMPライブラリを参照していますが、これは通常このために推奨されています。 –

+0

ライブラリーの勧告は現在のところSOで話題になっていないため、投票を終了します。 –

答えて

2

Bignumberライブラリを使用してください。私はTTMathのほうが簡単です。ここに見つけることができますLink to tttmath。 TTTmathでは大量の操作が可能ですが、独自のtoStringメソッドを作成する必要があります。ここで

が自分Samplesページから使用中TTTmathの例である:

#include <ttmath/ttmath.h> 
#include <iostream> 

int main() 
{ 
ttmath::UInt<2> a,b,c; 

    a = "1234"; 
    b = 3456; 
    c = a*b; 

    std::cout << c << std::endl; 
} 
Listing nr 1 
+0

図書館の推薦は、解答ではなくコメントでなければなりません。このようにフラグを付けました。 (つまり、モジュレーションはそれをコメントに変換することを意味します) –

+2

なぜですか?彼は大きな数字を実装する方法を尋ねなかったが、それらを使う方法を尋ねた。だから、図書館の推薦は有効な回答でなければなりません。 – zett42

+0

図書館の勧告を求める質問は、SOに関する話題になっていません(これは株式の終わりの理由の1つです)。 –

関連する問題