# 1.快速逆平方根
这段代码是一个著名的快速计算浮点数平方根倒数(即1/sqrt(x))的方法,通常被称为“神奇的数字”算法或“快速逆平方根”(Fast Inverse Square Root)。这个算法因其在1999年发布的电脑游戏《雷神之锤III竞技场》(Quake III Arena)中的使用而广为人知。尽管这个方法的精度不如直接使用标准的浮点数运算库函数(如1.0f / sqrt(x)),但它因为其高效的计算速度而在需要快速估算的场景中被采用。
float invSqrt(float x)
{
volatile long i;
volatile float halfx, y;
volatile const float f = 1.5F;
halfx = x * 0.5F;
y = x;
i = * (( long * ) &y);
i = 0x5f375a86 - ( i >> 1 );
y = * (( float * ) &i);
y = y * ( f - ( halfx * y * y ) );
return y;
}

