INT16U swRoot(INT32U dwNumber)
{
INT8U i;
INT32U dwSquareRoot;
if(dwNumber == 0)
{
return (0);
}
if(dwNumber <= 4194304)
{
dwSquareRoot = dwNumber / 1024 + 63;
}
else if (dwNumber <= 134217728)
{
dwSquareRoot = dwNumber / 4096 + 255;
}
else
{
dwSquareRoot = dwNumber / 16384 + 1023;
}
for (i=0;i<5;i++)
{
dwSquareRoot=(dwSquareRoot+dwNumber/dwSquareRoot)/2;
}
return((INT16U)dwSquareRoot);
}
C语言计算算数平方根的一个代码
最新推荐文章于 2024-05-11 14:54:32 发布