boost::rational
double
型ではなくて、分数の分母、分子の両方を保持しておきたい場面がいくつかある。
誤り訂正符号の符号化率なんかがそう。
boost::rational
というテンプレートクラスが便利そうで使い始めた。
ヘッダファイルをインクルードするだけで使える。
#include <boost/rational.hpp>
ここのサイトに使い方載ってる。
letsboost::rational
numerator()
とdenominator()
が分子、分母のゲッタメソッド。
boost::rational_cast<double>(a)
とかでdouble
にキャストできる。
今まで書いたコードで置き替えられるとこはこれ使おうと思う。