【问题标题】:why doesn't byte flip involve a simple reversal of order为什么字节翻转不涉及简单的顺序反转
【发布时间】:2016-07-12 16:57:25
【问题描述】:

在我使用的编程计算器上,当我点击“字节翻转”按钮时,十六进制值0x803F 变成了3F80。但是,我本来希望0x803F 变成0xF308,即简单的顺序颠倒。为什么字节翻转不涉及简单的顺序反转?

【问题讨论】:

    标签: assembly hex byte endianness


    【解决方案1】:

    您似乎认为位应该是反向的,但字节序是指字节而不是位。 0x803f代表两个字节,第一个是80,第二个是3F。所以颠倒字节序会导致值变成0x3F80

    https://en.wikipedia.org/wiki/Endianness#Big-endian

    【讨论】:

    • 按位反转会将 0x3F 更改为 0xFC。 (0b001111110b11111100)。 OP 的脑残期望半字节(十六进制数字)被反转。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2021-11-17
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    相关资源
    最近更新 更多