1.大小端存储顺序概念介绍
- 大端法:存储内容的高位放在低地址,低位放在高地址,例如对于0x12345678这个数存储在内存中起始地址为0x40000000的位置时
| 内存地址 | 存储内容 |
| 0x40000000 | 0x78 |
| 0x40000001 | 0x56 |
| 0x40000002 | 0x34 |
| 0x40000003 | 0x12 |
- 小端法:存储内容的高位放在高地址,低位放在低地址,例如对于0x12345678这个数存储在内存中起始地址为0x40000000的位置时
| 内存地址 | 存储内容 |
| 0x40000000 | 0x12 |
| 0x40000001 | 0x34 |
| 0x40000002 | 0x56 |
| 0x40000003 | 0x78 |
2.写一个C函数,如果处理器是大端的就返回0,如果处理器是小端的,就返回1
- 写了一个简单的函数
- union test_endian
{
char a;
int i;
};
int main()
{
test_endian test;
test.i=0x12345678;
if(0x12 == test.a)
{
printf("It bigedian\r\n");
}
else
{
printf("It littleedian\r\n");
}
return 0
}

本文介绍了计算机内存中数据的大端和小端存储顺序,并提供了一个简单的C语言函数来检测当前处理器采用的是大端还是小端存储方式。
1万+

被折叠的 条评论
为什么被折叠?



