2

boost::units::si::time から派生したカスタム単位系を定義しました。子ユニットは boost::units::make_scaled_unit を使用して定義されるため、変換係数は boost::units::scale および boost::units::static_rational を使用して指定されます。たとえば、boost::units::scale<1020、boost:: units::static_rational<1> >.

一般的に、boost::units::scale::value_type が 'double' でなければ文句は言いません。その結果、数量間のすべてのランタイム変換には浮動小数点演算が含まれますが、カスタム単位間の比率はすべて整数です。たとえば、リンゴ 1 個はオレンジ 18 個に相当し、有理数ベースの係数を使用した変換で十分です。

単位変換に使用される浮動小数点演算を別のものでオーバーライドする方法はありますか? ありがとう。

編集: 1.私の数量は整数型を使用して定義されています。

4

0 に答える 0