测试本地是在socket网络传送过程中是否为大端/小端
int main()
{
typedef union
{
short s;
char c[2];
}uOrdertest;
uOrdertest test;
test.s = 0x0102;
if(test.c[0] == 0x01)
{
printf("大端\n");
}
if(test.c[0] == 0x02)
{
printf("小端\n");
}
return 0;
}
然后:
>gcc ordertest.c -o ordertest
> ./ordertes
注:
在一个分配的内存块中:
大端:
高位 低位
|————————————| -------------->入口方面
| 01 | 02 | --------------->内存地址增长方面
——————————————
小端:
高位 低位
|————————————| -------------->入口方面
| 02 | 01 | <------------------内存地址增长方面
——————————————
入口方面相同。
{
typedef union
{
short s;
char c[2];
}uOrdertest;
uOrdertest test;
test.s = 0x0102;
if(test.c[0] == 0x01)
{
printf("大端\n");
}
if(test.c[0] == 0x02)
{
printf("小端\n");
}
return 0;
}
然后:
>gcc ordertest.c -o ordertest
> ./ordertes
注:
在一个分配的内存块中:
大端:
高位 低位
|————————————| -------------->入口方面
| 01 | 02 | --------------->内存地址增长方面
——————————————
小端:
高位 低位
|————————————| -------------->入口方面
| 02 | 01 | <------------------内存地址增长方面
——————————————
入口方面相同。
浙公网安备 33010602011771号