不使用乘法或浮點轉換的整數除法的上限
在C 和C 中,整數除法(x/y) 返回下限結果。要計算上限,避免浮點轉換和額外的乘法,請考慮以下方法:
1。使用 (x y - 1) / y:
unsigned int x, y, q; // Round up q = (x + y - 1) / y;
此公式可確保計算上限,因為它在執行除法之前加 1。
2。避免(x y) 中的溢出:
為了防止添加x 和y 時整數溢出,另一種方法是:
q = 1 + ((x - 1) / y); // if x != 0
此公式有效地將上限增加1 ,除了當x 為0 時,它仍然為0。
以上是如何在不使用乘法或浮點運算的情況下計算 C/C 中整數除法的上限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!