//===============================================
//函数名:VSqrt3
//功能: 实现对32位定点数的开方
//性能: 60M主频28015硬件下运行时间小于10us
//转自:http://read.pudn.com/downloads180/sourcecode/mpi/840129/sqrt.c__.htm
unsigned longVSqrt3(unsigned longx )
{
unsigned longx1;
ints=1;
unsigned longg0,g1;
if(x<=1) returnx;
x1=x-1;
if(x1>65535)
{
s+=8;
x1>>=16;
}
if(x1>255)
{
s+=4;
x1>>=8;
}
if(x1>15)
{
s+=2;
x1>>=4;
}
if(x1>3)
{
s+=1;
}
g0=1;
g0=g0<<s;
g1 =(g0 +(x>>s))>>1;
while(g1
{
g0=g1;
g1=(g0+x/g0)>>1;
}
returng0;
}
//===============================================
转载于:https://blog.51cto.com/junzhuivs/1397813