从this文章。这里的代码:需要帮助将代码从C转换为Java
float InvSqrt(float x){ // line 0
float xhalf = 0.5f * x;
int i = *(int*)&x; // store floating-point bits in integer
i = 0x5f3759d5 - (i >> 1); // initial guess for Newton's method
x = *(float*)&i; // convert new bits into float
x = x*(1.5f - xhalf*x*x); // One round of Newton's method
return x;
}
......我甚至不能告诉如果这是C或C++。 [好吧显然它是C,谢谢]有人可以帮我把它翻译成Java吗?这是(只是,我希望)第2行和第4行令我困惑。
这是两个;它在技术上是C(地震引擎是用C语言编写的),但是它是合法的C++,并且可以在C++编译器中编译。 – 2010-05-11 14:46:52
您的目标是获得反平方根,或者看看Java在上面看起来如何? – extraneon 2010-05-11 14:48:38
@Michael它似乎不是地震代码,神奇的常量似乎有点关闭:) – extraneon 2010-05-11 14:52:25