大小端
来源:互联网 发布:决战武林坐骑进阶数据 编辑:程序博客网 时间:2024/04/27 16:38
大小端,主要是指 CPU存储数据时(或者网络传输数据时)的字节顺序。只有数据的大小大于一个byte时,才能看出大小端格式。大端格式是把高位字节存放在低地址单元,小端格式是把低位字节存放在低地址单元。
可用下面的例子来测试所用机器的大小端格式。
union Test
{
int datum;
unsigned char data[4];
};
int i;
union Test a;
a. datum = 0x12345678;
for(i = 0; i < 4; i++)
{
printf("data[%d] = 0x%x,it's address = 0x%p/n",i, a.data[i], &a.data[i]);
}
在big-endian中, data [0] = 0x12, data [1] = 0x34, data [2] = 0x56, data [3] = 0x78。
在little-endian中, data [0] = 0x78, data [1] = 0x56, data [2] = 0x34, data [3] = 0x12。
TCP/IP使用的是big-endian模式;一些ARM处理器使用的也是big-endian模式,ADS可根据选用的ARM处理器进行设置;X86系列处理器使用的是little-endian模式。