- 主机字节序是 cpu 对内存进行存取数据的顺序
- 大小端取决于 cpu 的架构(x86 架构的 cpu 都是小端)
字节序针对的是数据存储类型大于 1 字节的数据,而且不管是大端还是小端,cpu 对内存进行存取数据的顺序都是从低地址到高地址
同小异大
小端:低字节数据存储在低地址处,高字节数据存储在高地址处
大端:高字节数据存储在低地址处,低字节数据存储在高地址处
判断大小端
方法一
利用联合体判断大小端
union Un
{
int a;
char b;
} un;
int main()
{
un.a = 1;
if (1 == un.b)
//小端
else
//大端
return 0;
}
方法二
int i = 0x12345678; // 0x12 是高字节,而 0x78 是低字节
char *cp = (char *)&i;
if (0x78 == *cp)
//小端
else
//大端
方法三
int i = 0x12345678;
if (0x78 == (char)i)
//小端
else
//大端