概念
小端字节序存储模式:把一个数据的低位字节的内容,存放在低地址处,把一个数据的高位字节的内容,存放在高地址处。
大端字节序存储模式:把一个数据的低位字节的内容,存放在高地址处,把一个数据的高位字节的内容,存放在低地址处。
写一段程序判断大小端存储模式
int a=1
a在内存中的十六进制表示 0x 00 00 00 01
小端存储 01 00 00 00(低地址——高地址)
大端存储 00 00 00 01(低地址——高地址)
取地址&a(int*)强制类型转换为char*,再解引用访问第一个字节内容,如果是1,为小端存储,如果是0,为大端存储。
#include<stdio.h>
int check_sys()
{
int a = 1;
return *(char*)&a;
}
int main()
{
int ret = check_sys();
if (ret == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}