作者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/cn.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