C で倍数に切り上げるための最良のアプローチ
C では、指定された数値の最も近い倍数に数値を切り上げることは次のようになります。次の手法を使用して効果的に達成されます:
introundUp(int numToRound, int multiple)<br>{</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if (multiple == 0) return numToRound; int remainder = numToRound % multiple; if (remainder == 0) return numToRound; return numToRound + multiple - remainder;
}
このメソッドは、基本的な整数演算を利用して、正の数の最も近い倍数を計算します。
負の数値の処理
負の数値を四捨五入する場合、「上」の定義があいまいになります。特定のアプリケーションに応じて、切り上げの異なる解釈が適切な場合があります。提供されるソリューションでは、切り上げとは常に入力数値以上の結果を意味すると想定しています:
introundUp(int numToRound, int multiple)<br>{</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if (multiple == 0) return numToRound; int remainder = abs(numToRound) % multiple; if (remainder == 0) return numToRound; if (numToRound < 0) return -(abs(numToRound) - remainder); else return numToRound + multiple - remainder;
}
この変更された関数により、次のことが保証されます。入力数値の符号に関係なく、結果が入力そのものより小さくなることはありません。
以上がC で最も近い倍数に効率的に切り上げるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。