###解決!
回答くださった方ありがとうございました。
参考情報:多倍長浮動小数点数
@tiitoiさんの回答より
C++
1#include <boost/multiprecision/cpp_dec_float.hpp> 2 3namespace mp = boost::multiprecision; 4// 仮数部 500 bit の浮動小数点数 5using cpp_dec_float = mp::number<mp::cpp_dec_float<500>>;
###知りたいこと
タイトルのとおりですが、例えば1/7=0.1428571428571428...
これを全て文字列として小数点以下500桁欲しいのですがSTLのlong double型ですと正確な値は16桁までしか取得できません。
何か良い方法があればご教示頂けると助かります。
###サンプルコード
C++
1#include <cstdio> 2#include <iostream> 3#include <iomanip> 4 5int main() 6{ 7 long double x; 8 for (int i = 1; i < 10; ++i) 9 { 10 x = 1.0 / i; 11 std::cout << i << " " << std::fixed << std::setprecision(20) << x << std::endl; 12 } 13 getchar(); 14 return 0; 15} 16// 出力例 17// 1 1.00000000000000000000 18// 2 0.50000000000000000000 19// 3 0.33333333333333331483 20// 4 0.25000000000000000000 21// 5 0.20000000000000001110 22// 6 0.16666666666666665741 23// 7 0.14285714285714284921 24// 8 0.12500000000000000000 25// 9 0.11111111111111110494 26
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/02 04:13
2018/11/02 04:20
2018/11/02 04:23