大小端和联合体
程序员文章站
2022-07-12 23:08:04
...
不同的cpu存储方式也是不同,我们常见的x86就是小端模式,而有些arm则是大端模式。
大小端排序是针对字节之间的排序关系,而字节内部顺序是不变的。
小端:低字节排在内存的低地址,高字节排在内存的高地址
大端:高字节排在内存的低地址,低字节排在内存的高地址
例如:int a=0x12345678
小端模式存储:
内存 | 0x000000 | 0x000001 | 0x000002 | 0x000003 |
数据 | 0x12 | 0x34 | 0x56 | 0x78 |
大端模式存储:
内存 | 0x000000 | 0x000001 | 0x000002 | 0x000003 |
数据 | 0x78 | 0x56 | 0x34 | 0x12 |
联合体是公用内存,内部数据则是从低地址排序。
如果判断系统大小端即可方便使用联合体验证
typedef union
{
char a;
int c;
}Test;
int check() //1--小端 0---大端
{
Test t;
t.c=1;
if(t.a==1)
return 1;
else
return 0;
}
转载于:https://blog.51cto.com/luoqiu/1621347
上一篇: Aop以及注解开发
下一篇: 大小端判断(联合体 & 指针)