大端字节序:高字节存放在低地址,低字节存放在高低址
小端字节序:低字节存放在高低址,高字节存放在低地址
大小端字节顺序它是CPU的属性,所哟不同的CPU的大小端字节顺序也不同,移植的时候需要先判断当前的CPU是大端还是小端字节序,如果不同则移植需要转移字节序
int num = 0x12345678
大端 小端
例如: 0x1003高低址 78 12
0x1002 56 34
0x1001 34 56
0x1000低地址 12
78
#include <stdio.h> /*联合*/ union node { int num; char ch; } int main() { union node p; //方法一 p.num = 0x12345678; if (p.ch == 0x78) { printf("Little endian\n"); } else { printf("Big endian\n"); } //方法二 int num = 0x12345678; char *q = (char *)&num if (*q == 0x78) { printf("Little endian\n"); } else { printf("Big endian\n"); } return 0; }