gpt4 book ai didi

java - 在将代码从 C 翻译成 Java 方面需要帮助

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:00 25 4
gpt4 key购买 nike

来自 this文章。这是代码:

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 行。

最佳答案

您想使用这些方法:

而且 strictfp 等可能存在问题

大致是这样的:(注意:这是未经测试的!)

float InvSqrt(float x){ // line 0
float xhalf = 0.5f * x;
int i = Float.floatToIntBits(x); // store floating-point bits in integer
i = 0x5f3759d5 - (i >> 1); // initial guess for Newton's method
x = Float.intBitsToFloat(i); // convert new bits into float
x = x*(1.5f - xhalf*x*x); // One round of Newton's method
return x;
}

关于java - 在将代码从 C 翻译成 Java 方面需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2811635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com