我发现下面的代码,它计算log2的float x:
union { float f; unsigned int i; } vx = { x };
float y = vx.i;
y *= 1.0 / (1 << 23);
y = y - 126.94269504f;
return y;
Run Code Online (Sandbox Code Playgroud)
funion 的参数初始化为输入x然后使用i?我无法理解它是如何使用未初始化的东西的.vx.i实际上有什么价值?谢谢.