您的位置:首页 > 编程语言 > C语言/C++

c语言中大小端的问题

2013-12-05 16:14 381 查看
一。记忆技巧

正常情况下,内存地址都是从小到大排列的,记忆区分大小端的方法:高字节放在低地址就是大端,高对应大,低对应小

二。判断编译器大小端

方法1.

short int x;
char x0,x1;
x=0x1122;
x0=((char*)&x)[0]; //低地址单元
x1=((char*)&x)[1]; //高地址单元

若x0=0x11,则是大端; 若x0=0x22,则是小端

方法2.

int checkCPU()
{
union w
{
int a;
char b;
} c;
c.a = 1;
return (c.b == 1);
}

两种方法原理基本相同,都是看一个多字节的变量的低地址的值是否为所赋值的低位的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: