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);
}
两种方法原理基本相同,都是看一个多字节的变量的低地址的值是否为所赋值的低位的值
正常情况下,内存地址都是从小到大排列的,记忆区分大小端的方法:高字节放在低地址就是大端,高对应大,低对应小
二。判断编译器大小端
方法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);
}
两种方法原理基本相同,都是看一个多字节的变量的低地址的值是否为所赋值的低位的值
相关文章推荐
- 详解C语言判断系统的大小端问题
- C语言 - 大小端问题
- 深入分析S3C2440启动代码中大小端问题
- C语言之大小端问题
- C语言大小端问题剖析
- c语言 之大端小端存储问题
- 用C语言测试计算机大小端问题
- c语言中的大小端问题与高低位问题
- 深入分析S3C2440启动代码中大小端问题
- c语言,java类型转换时遇到的大小端问题
- 【C语言】大小端的问题
- linux 中大小端问题 详解
- c语言大小端问题
- 深入解析C语言中的内存分配相关问题
- 【C++知识点】关于32位数字小端方式存储的问题
- C语言数组问题
- 关于C语言下的 system 函数的 命令路径中的 空格 问题!
- C语言中关于printk问题
- C语言中数组&取地址的问题
- c语言经典,高手必备,找出卖耶稣的叛徒问题!