如何求根号2

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;
}

 

点赞