我有个历程里的算法看不懂

2019-10-14 21:36发布

/**************************实现函数********************************************
*函数原型:           float invSqrt(float x)
*功  能:           快速计算 1/Sqrt(x)        
输入参数: 要计算的值
输出参数: 结果
*******************************************************************************/
float invSqrt(float x) {
        float halfx = 0.5f * x;
        float y = x;
        long i = *(long*)&y;
        i = 0x5f3759df - (i>>1);
        y = *(float*)&i;
        y = y * (1.5f - (halfx * y * y));
        return y;
}

这些都在干嘛,好心人求帮助

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。