在使用 reinterpret_cast 将整数转换为浮点数时,内存的内容会发生变化。
例如,
float fDest = 0;
__int32 nTempDest = -4808638;
fDest = *reinterpret_cast<float*>(&nTempDest);
变量值 nTempest 的十六进制表示为“42 a0 b6 ff”,但在 reinterpret_cast 之后,fDest 的内容为“42 a0 f6 ff”。
任何人都可以回答为什么第三个字节从 b6 变为 f6。