【发布时间】:2016-07-12 16:57:25
【问题描述】:
在我使用的编程计算器上,当我点击“字节翻转”按钮时,十六进制值0x803F 变成了3F80。但是,我本来希望0x803F 变成0xF308,即简单的顺序颠倒。为什么字节翻转不涉及简单的顺序反转?
【问题讨论】:
标签: assembly hex byte endianness
在我使用的编程计算器上,当我点击“字节翻转”按钮时,十六进制值0x803F 变成了3F80。但是,我本来希望0x803F 变成0xF308,即简单的顺序颠倒。为什么字节翻转不涉及简单的顺序反转?
【问题讨论】:
标签: assembly hex byte endianness
您似乎认为位应该是反向的,但字节序是指字节而不是位。 0x803f代表两个字节,第一个是80,第二个是3F。所以颠倒字节序会导致值变成0x3F80
【讨论】:
0b00111111 到 0b11111100)。 OP 的脑残期望半字节(十六进制数字)被反转。