一、字节序
1.小端字节序(主机字节序)
数据的高位字节序存储在内存的高位地址,低位字节存储在内存的低位地址
2.大端字节序(网络字节序)
数据的低位字节序存储在内存的高位地址,高位字节存储在内存的低位地址
二、检测当前主机字节序
代码如下(示例):
#include<stdio.h>
int main()
{
union
{
short value; //2字节
char bytes[sizeof(short)]; //char[2]
}test;
test.value=0x0102;
if((test.bytes[0]==1)&&(test.bytes[1]==2))
{
printf("big endian\n");
}else if((test.bytes[0]==2)&&test.bytes[1]==1)
{
printf("little endian\n");
}else
{
printf("unknow\n");
}
return 0;
}
总结
本节主要介绍了字节序,分为小端字节序和大端字节序,不同机器之间的字节序可能不同。