为什么为SPARC ISA编译的程序读取整数的方式与Pentium ISA不同?

时间:2015-07-01 21:10:48

标签: memory data-structures sparc

为SPARC ISA编译的程序将32位无符号整数0xABCDEF01写入文件,并正确读回。为Pentium ISA编译的相同程序也可以正常工作。但是,在传输文件时,程序错误地将文件中的整数读取为0x01EFCDAB。出了什么问题?

1 个答案:

答案 0 :(得分:2)

SPARC和Pentium在内存和存储中使用不同的字节顺序(“endianness”):

  • SPARC使用 big-endian :整数中最重要的字节首先出现
  • Pentium使用 little-endian :整数中最不重要的字节首先出现

即。当文件传输到具有不同字节序的机器时,整数的字节似乎是颠倒的顺序。