Endianness小端,數字由最低有效位開始擺放至內存。

範例

#include <inttypes.h>
int main(int argc, char ** argv) {
  // 32 位的變量。
  volatile uint32_t i=0x01234567;
  // 取得變量 i 的位址,將其當成 4 個 byte 的陣列,並檢視第 0 個元素是否是 67。
  return (*((uint8_t*)(&i))) == 0x67;
}
$ gcc -o endian endian.c
$ ./endian
# 若為小端,則為 1。
$ echo $?
# 驗證是否為小端。
$ readelf -h endian
ELF Header:
  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF64
  Data:                              2's complement, little endian