從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