天天看點

《編寫高品質代碼:改善c程式代碼的125個建議》——建議12-3:用減法運算來實作整數除法運算

本節書摘來自華章計算機《編寫高品質代碼:改善c程式代碼的125個建議》一書中的第2章,建議12-3,作者:馬 偉 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

我們知道,減法運算比除法運算要快得多。是以,對整數除法運算來說,如果知道被除數是除數很小的倍數,那麼可以使用減法運算來代替除法運算。例如,對于下面的示例

代碼:

我們可以将“z=x/y”表達式修改成如下形式:

這裡使用減法來代替除法運算,雖然代碼看起來不是很直覺,但是在運作效率上确實要快許多。當然,具體效率也要取決于被除數與除數的倍數。如果倍數比較大,那麼相應的循環次數就會增多,采取這種方法就得不償失了。

繼續閱讀