字节顺序。这些字节将如何表示?

Endianness order. How will these bytes be represented?

给定十六进制字节 0x12345678,使用大端顺序将字节复制到内存。

地址内容

0x00400003 0x78

0x00400002 0x56

0x00400001 0x34

0x00400000 0x12

对吗?

在big-endian中,最重要的字节(12)应该排在第一位,然后其余的字节应该按重要性降序排列。

如果给定的数字是大端字节顺序(可能是),你的解决方案是正确的,因为它看起来像这样:

00400000|00400001|00400002|00400003
--------+--------+--------+--------
   12   |   34   |   56   |   78

如果必须以小端方式排列字节,则排列将相反:

00400000|00400001|00400002|00400003
--------+--------+--------+--------
   78   |   56   |   34   |   12

注意,在这种排列中,只有bytes的顺序颠倒了,但是nibbles的顺序(4位区域=十六进制数字)保持不变。

您可以在 this Wikipedia page about endianness 中阅读更多内容。