gpt4 book ai didi

c - i = * ( long * ) &y; 是什么意思?做?

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

<分区>

我看到了以下代码 here .

float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;

x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the heck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed

return y;
}

我不明白下面这行。

i  = * ( long * ) &y; 

一般我们用*&带指针,但这里都带变量。那么,它在这里做什么?

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