数百桁の長さ (pi - 3 の最初の 100 桁など) の float 値があり、それを操作する方法が必要です。多数の小数を持ち、組み込みライブラリで多くの精度を維持する float を格納して操作する方法はありますか? C ++にPythonのDecimalモジュールのようなものはありますか?
2105 次
3 に答える
4
他の答えはすべて、高精度の整数ライブラリを指しています。ただし、周りにはいくつかの浮動小数点ライブラリがあります。
- 高精度算術ライブラリ
- GNU Multiple Precision Arithmetic Library(GMP)「制限のない算術」
- 正しい丸めを使用したGNU多精度浮動小数点計算(GNU MPFRライブラリ)。C++ラッパーもあります。
- NTL:数論を行うためのライブラリ。NTL :: RRと一緒に、ブースト内でもこれを使用できます。
- LBNL倍精度、倍精度、任意精度のソフトウェア。
...そして、いつでも独自のソリューションを実装できる可能性を忘れないでください。(最も効果的または最速のソリューションではないかもしれませんが、何かを学びたい場合は「その」ソリューションです。
于 2012-02-07T07:35:28.623 に答える
2
組み込みのライブラリはありませんが、Bignum演算を使用してそれを行うことができます:) http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic。
Bignumとは:数字の配列(ベクトル)。合計/差を簡単に実装できます。
私は実際にここで似たようなことを尋ねました:STLbigintクラスの実装
于 2011-05-29T18:07:57.027 に答える
1
float が 100 バイト以上の長さの特別なエキゾチックなプラットフォームでない限り、大きな数値用のライブラリがなければ、必要なものをアーカイブするのは難しいでしょう。
于 2011-05-29T18:07:18.767 に答える