与 IEEE-754 相比,内存中的浮点位模式按位反转了吗?

float bit pattern in memory reversed bit-wise compared to IEEE-754?

我用 C 写了一个程序来打印浮点数的位模式

所以我希望收到一个标准的 IEEE-754 位模式,即: 1 个符号位 | 8 个 EXP 位 | 23 个尾数位

当我得到输出并将结果放入 IEEE-754 转换器时,数字是错误的。当我一点一点地颠倒顺序时,数字是正确的。

所以我问的原因是:我发现了一个线程,在该线程中我了解到模式可以按字节反转,但在任何地方我都没有发现它完全按位反转。

有人能解释一下吗?

这是程序、输出和转换结果的屏幕截图。 (如您所见,我以相反的顺序将数字放入转换器,结果对我来说很好。)

这里的字节顺序不是问题,因为您对整个对象的值使用了移位运算符。

你只是按相反的顺序打印出来,仅此而已。

您首先开始打印最低有效位,网页从最高有效位开始。两种变体都是正确的。


一个侧节点,您将 float 解释为 int 的方式不正确,它会导致未定义的行为。您应该使用宽度等于或大于 float 类型宽度的无符号整数,并使用 memcpy.