大小端问题
- 大端:高字节存放在低地址,低字节存放在高地址。
- 小端:高字节存放在高地址,低字节存放在低地址。
对于大部分的设备都是小端设备,如果交换数据的两方分别为大端和小端数据,则会存在数据字节的转换问题。
一般网络字节序则为大端传输。
- 如何判断大小端?
1 int a = 1; 2 char *p = (char *)&a; 3 if(*p == 1) 4 printf("Little endian.\n"); 5 else 6 printf("Big endian.\n");
或者
1 union endian 2 { 3 int a; 4 char b; 5 } test; 6 test.a = 1; 7 if(test.b == 1) 8 printf("Little endian.\n"); 9 else 10 printf("Big endian.\n");

浙公网安备 33010602011771号