读书人

有没高手解释一个算法,该怎么处理

发布时间: 2012-02-17 17:50:42 作者: rapoo

有没高手解释一个算法
int fast_dis(int x,int y)
{
x = abs(x);
y = abs(y);
int mn = min(x,y);
return (x+y-(mn> > 1)-(mn> > 2)+(mn> > 4));
}
是算sqrt(x^2+y^2)的近似算法.
但是看不明白,是用什么公式做的呢?

[解决办法]
应该是傅立叶变换,级数展开。。。。
[解决办法]
这是泰勒公式二级展开式,算的是一个函数的近似植
[解决办法]
真正的乘法是相当耗费CPU时间的,所以改为位计算,就是反映了该函数的名称 "fast_dis " :)
[解决办法]
我倒是觉得只是一个随便定义的距离公式。
距离不一定要sqrt(x^2+y^2)

读书人网 >C++

热点推荐