首页 文章

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

提问于
浏览
0

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

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

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

所以我要问的是:我找到了一个线程,我在其中了解到该模式可能被BYTE-WISE反转,但无处可寻,我发现它完全被BIT-WISE反转 .

请问有人可以这么做吗?

这是程序的屏幕截图,输出和转换结果 . (正如你所看到的那样,我把数字按相反的顺序放入转换器中,结果对我来说很好 . )

Screenshot

1 回答

  • 4

    字节顺序不是问题,因为你在整个对象的值上使用了位移运算符 .

    你只需按相反的顺序打印出这些位,没有什么比这更好的了 .

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


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

相关问题