1.字节序分为两类:Big-Endian(大端字节序) 和 Little-Endian(小端字节序)
大端字节序:高字节存放在低地址,低字节存放在高低址
小端字节序:低字节存放在高低址,高字节存放在低地址
2.下面这张图可以看出大端模式和小端模式的异同(图片来源于网路)
3.使用C语言验证
原理:联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间
#include <stdio.h>
void main()
{
union test {
char a;
int b;
} num;
num.b = 0x12345678;
if (num.a == 0x78) {
printf("大端存储\n");
} else {
printf("小端存储\n");
}
printf("char类型占%d个字节, ֵ值为%x\n", sizeof(char), num.a);
printf("int类型占%d个字节, ֵ值为%x\n", sizeof(int), num.b);
}
C代码实现是自己原创,其余均是在他人文档的基础上修改的