标签归档:平方根

RSS feed of 平方根

最后更新于 .

有人在Quake III的源代码里面发现这么一段用来求平方根的代码:

/*================SquareRootFloat================*/
float SquareRootFloat(float number) {
    long i;
    float x, y;
    const float f = 1.5F;
    x = number * 0.5F; y = number;
    i = * ( long * ) &y;
    i = 0×5f3759df - ( i >> 1 ); //注意这一行 y = * ( float * ) &i; y = y* ( f - ( x * y * y ) );
    y = y * ( f - ( x * y * y ) );
    return number * y;
}


0×5f3759df? 这是个什么东西? 学过数值分析就知道,算法里面求平方根一般采用的是无限逼近的方法 ...