什么是大小端
大端存储模式:数据的低位保存在内存的高地址中,数据的高位,保存在内存的低地址中。
小端存储模式:数据的低位保存在内存的低地址中,数据的高位,保存在内存的高地址中。
举个栗子:
一个16进制的数0x01234567
在内存中有大端存储和小端存储两种存储方式,在程序中0x01
是数据的高位,0x67
是数据的低位,分别如下图所示:
大端法:数据的低位保存在高地址中
小端法:数据的低位保存在低地址
采用指针法验证机器的大小端序(字节序)
#include <stdio.h>
int main(void)
{
int a = 0x12345678;
char s = *(char *)&a;
if (s == 0x12) {
printf("大端序\n");
} else {
printf("小端序\n");
}
return 0;
}