您的位置:首页 > 其它

如何判断CPU是大端存放还是小端存放

2016-12-02 21:52 288 查看
大端字节序:高字节存放在低地址,低字节存放在高低址

小端字节序:低字节存放在高低址,高字节存放在低地址

大小端字节顺序它是CPU的属性,所哟不同的CPU的大小端字节顺序也不同,移植的时候需要先判断当前的CPU是大端还是小端字节序,如果不同则移植需要转移字节序

int num = 0x12345678

大端                   小端


例如: 0x1003高低址 78 12

0x1002 56 34

0x1001 34 56

0x1000低地址 12 78

#include <stdio.h>
/*联合*/
union node
{
int num;
char ch;
}

int main()
{
union node p;
//方法一
p.num = 0x12345678;
if (p.ch == 0x78)
{
printf("Little endian\n");
}
else
{
printf("Big endian\n");
}
//方法二
int num = 0x12345678;
char *q = (char *)&num
if (*q == 0x78)
{
printf("Little endian\n");
}
else
{
printf("Big endian\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cpu 大端 小端