如何判斷是 Little endian 或 Big endian

略過

Little endian 跟 Big endian 是一種儲存資料的順序,在資料放進記憶體中的時候,Big-Endian 會將最高位的位元組會放在最低的記憶體位址上,而 Little-Endian 則是會把最高位的位元組放在最高的記憶體位址上,那我們要怎麼確認呢?

小弟我是習慣直接寫一個小程式去確認:

#include <stdio.h>

int main() {
  int num = 1;
  char *c = (char*)&num;
  printf("%u\t%u\t%u\t%u\n",c,c+1,c+2,c+3);
  printf("%d\t\t%d\t\t%d\t\t%d\n",*c,*(c+1),*(c+2),*(c+3));

  if(*c!=1)
    printf("Big endian\n"); 
  else 
    printf("Little endian\n");
  return 0;
}

_______________________________________________

我們透過閱讀,拼湊出真實世界的面貌,
並在反覆的探索及思維中,打破由自我無知與偏見所建立的籓籬。