問題タブ [boost-multiprecision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
56 参照

boost - 間違った結果ブースト gmp float

5^64生成するはずのブースト多精度ライブラリを使用して計算する必要がありますが、542101086242752217003726400434970855712890625取得boost::multiprecision::pow()して取得mpfloatします542101086242752217003726392492611895881105408

ただし、ループして繰り返し乗算するmpintと、正しい結果が得られます。

バグですか?または私はboost::multiprecision::pow()間違った方法で使用していますか?または私は使用する代わりがありboost::multiprecision::pow()ますか?

0 投票する
1 に答える
845 参照

c++ - C++ BigInteger からバイト配列へ

Java には、大きな数を使用するための BigInteger クラスがあり、次のような toByteInteger というコンバータ関数があります。

C++ では、Boost.Multiprecision で mpz_int大きな数値型を使用しようとしましたが、 mpz_intバイト配列に変換する関数がありません。

C++ に同等の BigInteger 型はありますか? 私はqtフレームワークを使用しています.qtに大きな整数構造はありますか? それをバイト配列に変換することは可能ですか?

0 投票する
1 に答える
409 参照

c++ - ブースト128ビット整数でC++ max関数を使用する方法

次のコードがある場合:

Ubuntu で g++ を使用してコンパイルすると、次のエラーが発生します。

エラー: 代入で 'const boost::multiprecision::number >' を 'int64 {aka long long int}' に変換できません

2 つの int128_t 数値を比較して、どちらが大きいかを確認する適切な方法は何ですか?

編集: std::max を使用しています。