我用NUCLEO G474在一行简单的代码上遇到了问题。如果运行以下代码,结果不对。
//Main job of this code is to tranform hex into float
uint32_t hex = 0x3fc51eb8;
float f;
memcpy(&f, &hex, 4);
如果我在Live Expressions中查看,会发现 f 的值是 0x1(十六进制),本该是 0x3fc51eb8。最奇怪的是,同样的代码在例如 onlineGDB 编译器上却能正常工作。
我原本以为问题出在编译器上,所以将默认的 GNU 11 切换到其他编译器版本,但没有任何变化。
|
|