整数変数、ミリボルト単位の電圧があります。
signed int voltage_mv = 134; //134mV
2 セグメント ディスプレイを使用しており、100 分の 1 ボルトを表示したいと考えています。
1回の操作でミリボルトを100分の1ボルトに変換するにはどうすればよいですか? IF文なし、機能なし?
134 => 13
135 => 14
単純な丸めはどうですか:
int millivoltToDisplay (int millivolts)
{
return (millivolts+5)/10;
}
(わかりやすくするために関数として記述)
完全を期すために、分母が奇数の場合は、代わりに次のようにします。
return (millivolts+denominator/2)/denominator;
あなたはただ持つことができます
return (2*millivolts+denominator)/(2*denominator);
正しい丸めを取得します。