C 中捨入為倍數的最佳方法
在C 中,將數字舍入到給定數字的最接近倍數可以是使用以下技術有效實作:
int roundUp(int numToRound, int multiple)<br>{<pre class="brush:php;toolbar:false">if (multiple == 0) return numToRound; int remainder = numToRound % multiple; if (remainder == 0) return numToRound; return numToRound + multiple - remainder;
}
此方法利用基本整數算術來計算正數的最接近倍數。它簡單且高效。
處理負數
負數舍入時,「向上」的定義變得不明確。根據具體應用,對舍入的不同解釋可能是適當的。提供的解假設向上捨入表示結果總是大於或等於輸入數字:
int roundUp(int numToRound, int multiple)<br>{<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中文網其他相關文章!