JavaScript
//求n的算术平方根,参数n不能为负数
function sqrt2(n) {
//当n>=1时,从n开始迭代;
//当n<1时,从1开始迭代
let res = n >= 1 ? n : 1;
while(res * res - n > 1e-8)
res = 0.5 * (res + n / res);
return res;
}
C
float invSqrt(float x)
{
float xhalf = 0.5f*x;
int i = *(int*)&x;
i = 0x5f375a86- (i>>1);
x = *(float*)&i;
x = x*(1.5f-xhalf*x*x);
x = x*(1.5f-xhalf*x*x);
x = x*(1.5f-xhalf*x*x);
return x;
}