小和大端

时间:2014-04-23 10:58:01

标签: endianness

假设数字Ox12345678存储在Big中的存储器位置1000 Endian格式。如果处理器现在假定数据为Little Endian 格式,如果它读取(i)一个字节,(ii)一个半字,(iii)一个字,它会得到什么 位置1000?

这与ARM处理器有关

1 个答案:

答案 0 :(得分:0)

如果您的问题中的数字Ox12345678以 Little Endian 格式提供,并且您将其存储在地址1000的 Big Endian 格式中,则该地址处的内存图像将为是:

  • 1000 - 0x78
  • 1001 - 0x56
  • 1002 - 0x34
  • 1003 - 0x12

现在,使用 Little-Endian 处理器:

  • 如果您从地址1000读取一个字节,那么您将获得0x78。
  • 如果您从地址1000读取半字,那么您将获得0x7856。
  • 如果您从地址1000读取一个单词,那么您将获得0x78563412。

如果您的问题中的数字Ox12345678以 Big Endian 格式提供,并且您将其存储在地址1000处的 Big Endian 格式中,则该地址处的内存图像将为是:

  • 1000 - 0x12
  • 1001 - 0x34
  • 1002 - 0x56
  • 1003 - 0x78

现在,使用 Little-Endian 处理器:

  • 如果您从地址1000读取一个字节,那么您将获得0x12。
  • 如果您从地址1000读取半字,那么您将获得0x1234。
  • 如果您从地址1000读取一个单词,那么您将获得0x12345678。