以 32 位無符號整數 0x01020304 為例:
&temp[0] == 0x01。&temp[0] == 0x04。| 模式 | 地址 0x4000 | 地址 0x4001 |
|---|---|---|
| Little-endian | 0x34 | 0x12 |
| Big-endian | 0x12 | 0x34 |
int n = 0x7812; // 32位系統 int 佔4字節
char *p = (char*)&n;
if (*p == 0x78) printf("小端");
else if (*p == 0x12) printf("大端");
利用 char* 訪問首字節即可區分。
網絡傳輸通常採用大端(網絡字節序),主機序視 CPU 架構而定。跨平台通訊務必使用 htonl/ntohl 等轉換函數。