メモリがあるほど精度が高いクラスがないのだろうかと思っていました。オーバーロードされた演算子を使用して、通常の数のように演算を実行します。任意に大きな数値を計算するクラス?
例:
BigNumber num;
num = 8;
for(int i = 0; i < 5000000; ++i)
{
num *= num;
}
おかげ
メモリがあるほど精度が高いクラスがないのだろうかと思っていました。オーバーロードされた演算子を使用して、通常の数のように演算を実行します。任意に大きな数値を計算するクラス?
例:
BigNumber num;
num = 8;
for(int i = 0; i < 5000000; ++i)
{
num *= num;
}
おかげ
そのためにたくさんのライブラリがGMP (it provides also a C++ interface)またはcbignumのように、あります。
あなたはこの種のライブラリをあなたが望むほど多く見つけることができます。
が少なくとも1つのC++のBigIntegerライブラリは
https://mattmccutchen.net/bigint/
であり、あなたはそれを"biginteger - How to implement big int in C++ - Stack Overflow"
64ビット整数を自分で書きたい場合は、あなたのために十分な大きさではありませんか? –
@ Paul、64ビット整数が不十分なアプリケーションがたくさんあります。 – bdonlan
@bdonlan:確かに、質問に「メモリと同じくらい正確です」と言われていますが、これはあいまいですが、64ビットのアドレス空間を持っていれば64ビット整数が必要です。上記の例では、5000000は「大きい」とみなされます。しかし、多分私はその質問を誤解したでしょうか? –