您的位置:首页 > 其它

字节序大端和小端的理解

2017-07-13 20:51 239 查看
根据处理器的不同,字节序分为大端和小端。

所谓大端,就是高字节的数据存放在低地址的内存地址,低字节的数据存放在高地址的内存地址。

所谓小端,就是高字节的数据存放在高地址的内存地址,低字节的数据存放在低地址的内存地址。

大端如图示例:



小端如图示例:



如何写一个C语言程序识别目前机器是大端还是小端?

#include <stdio.h>
union ut
{
short s;
char c[2];
} u;

// char 1;short 2; int,float,long 4; double 8
int main()
{
if(sizeof(short) == 2)
{
u.s = 0x0102;
if(u.c[0] == 0x1 && u.c[1] == 0x2)
{
printf("big enidan\n");
}
else if(u.c[0] == 0x2 && u.c[1] == 0x1)
{
printf("little endian.\n");
}

}
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: