2
A
回答
1
1
簡答:是的,乘法通常更快。
對於特殊情況,它可能取決於很多事情,例如,平臺,語言,編譯器,硬件,是否存在查找表等。對於2的整數除法,位移有時會再快一點。但編譯器通常可以優化這些情況。
[email protected]:~/Desktop$ python -mtimeit '0.5*1234567890.'
100000000 loops, best of 3: 0.0168 usec per loop
[email protected]:~/Desktop$ python -mtimeit '1234567890./2.'
10000000 loops, best of 3: 0.043 usec per loop
[email protected]:~/Desktop$ python -mtimeit '1234567890 >> 1'
100000000 loops, best of 3: 0.0168 usec per loop
當編寫C++代碼,當我從一個循環內恆定k
做師,我常常能擠走在性能關鍵代碼部分漲幅通過定義double ki = 1./k
外循環使用在循環內乘以ki
。
+1
如果'x'是一個浮點數,位移不會做很棒的事情。 –
相關問題
- 1. 從OU獲得計算機
- 2. 計算x值
- 3. 計算「X」天
- 4. 如何計算寬高比是否寬?
- 5. 計算比例
- 6. 計算比率
- 7. 跨計算機的qHash是否一致?
- 8. 是否有計算機視覺庫可在Windows Phone 7.x的?
- 9. Cython沒有比Python快得多的基本總和計算
- 10. 在循環之前計算列表的長度是否比在循環內重新計算列表快一倍?
- 11. javascript計算器5 + 5 = 55?
- 12. 計算快速排序比較
- 13. 爲什麼atan2(y,x)比arcsin或arccos計算更快?
- 14. SugarCRM:計算比率?
- 15. 計算百分比總計
- 16. 加快計算列
- 17. 快行間計算
- 18. 集計算機
- 19. 計算機
- 20. 計算機
- 21. 計算機
- 22. 計算機中的浮點計算
- 23. 計算機如何計算float 0.1?
- 24. 設備ID是計算機
- 25. 這是關於計算機
- 26. 是否有運算符來計算Python中的百分比?
- 27. 以計算機「性能快照」
- 28. 遠程運行OS X計算機
- 29. 計算百分比
- 30. 計算百分比
不知道是否有任何編譯器/平臺可以做到這一點,但將float/double除以「2」就意味着從指數中減去/添加「1」。沒有想過通過角落案件是否複雜。 – Keith
我也聽說過這個,我知道它與硬件處理數據的方式有關,但我不知道它給出了一個體面的解釋。然而,這個網頁似乎有一些很好的答案,可能對你有用。 http://stackoverflow.com/questions/506237/why-is-float-division-slow –
作爲一個提示,考慮乘法手動過程與手動分割過程。一個由一系列直接計算組成,另一個涉及一系列計算和決策。 – phkahler