C での数値の倍数への切り上げ
プログラミングで数値を扱う場合、値を次のように切り上げる必要がある場合があります。別の数値の最も近い倍数。 C でこのタスクに取り組む方法は複数ありますが、この記事では、整数演算を利用して正確な丸めを実現する効率的な方法に焦点を当てます。
提供されているコード スニペット、roundUp は、正の数に対する簡単なソリューションを提供します。入力数値 numToRound を倍数で割ったときの剰余を計算し、剰余がゼロでない場合はその倍数を numToRound に加算します。これにより、結果が入力以上の最も近い倍数になることが保証されます。
ただし、負の数の場合、元のコードは望ましい動作を提供しません。負の数に対応するために、roundUp の修正バージョンが導入されています。このバージョンでは、丸め演算を実行する前に入力数値の絶対値が計算されます。さらに、条件付きロジックを使用して、入力の符号に基づいて結果の符号を調整します。これにより、符号に関係なく、結果が常に入力以上になることが保証されます。
正の数値と負の数値の両方を処理するための更新されたコードは次のとおりです。
int roundUp(int numToRound, int multiple) { 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; }
ここで、 RoundUp 関数は、正の入力と負の入力の両方に対して一貫した動作を提供し、指定された数値の最も近い倍数への正確な丸めを保証します。
以上がC で数値を最も近い倍数に効率的に切り上げるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。