更多精彩文章请关注公众号『大海的BLOG』
字节序理解
字节序其实就是数据在内存中的存储方式,因为内存的地址用高低位之分,数据也有高低位,所以按照存放的顺序一般可分为大端字节序,和小段字节序。
生活中我们放东西的顺序也是不一样的,有的人习惯性的将自己的物品放在自己的左手边,有的人就习惯性的放在自己的右手边,那对于电脑来说,cpu的不同,内存存储多字节数据的存储方式也相应的不同。
概念
主机字节序
不同类型CPU主机中,内存存储多字节整数的方法不同,称为主机字节序
主机序列有两种
小端序 :数据的低字节存放在内存的低地址
大端序 :数据的高字节存放在内存的低地址
一般 inter处理器的字节序为 小端序, 而 ARM 架构的处理器多为大端序
验证主机字节序
C语言代码片
#include <stdio.h>
//定义一个共用体
union Data
{
int a;
char b;
};
int main()
{
union Data data;
data.a = 0x12345678;
//小端序
if (0x78 == data.b)
{
printf("the little end sequence\r\n");
}
//大端序
else
{
printf("the big end sequence\r\n");
}
return 0;
}
编程结果
运行代码的电脑是inter处理器的,验证为小端序存储
更多精彩文章请关注公众号『大海的BLOG』