作者MaxHaru (懂得放手..才是王道)
看板Programming
標題[問題] 整數運算的問題
時間Sat Nov 22 13:46:50 2014
有個整數的運算的問題想請教,
有個整數要做除法, 如下:
unsigned long n;
n/31.25
(不用浮點數)==>(n<<5)/1000
請問有辦法可以省去除法還符合上面的算式嗎?
感謝..
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.163.236.152
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Programming/M.1416635212.A.01C.html
1F:推 LPH66: 除以 31.25 等於乘上 4/125, 也就是總有個 123.195.39.85 11/22 14:48
2F:→ LPH66: 125 要處理, 所以頂多寫成 (n<<2)/125 123.195.39.85 11/22 14:49
3F:→ LPH66: 如果你是想問除法的效率問題的話 123.195.39.85 11/22 14:49
4F:→ LPH66: 現在的編譯器對於固定除數的除法都知道 123.195.39.85 11/22 14:50
5F:→ LPH66: 要怎麼做才會在目標的機器上面比較快 123.195.39.85 11/22 14:50
6F:→ LPH66: 所以這方面就交給編譯器就好了 123.195.39.85 11/22 14:50
7F:→ MaxHaru: 非常感謝.. 1.163.236.152 11/22 21:45