数据在内存中有两种存储方式:
小端存储:数据的高位字节存储在内存的高地址处,低位字节存储在内存的低地址处。
大端存储:与小端存储的方式正好相反
我们(程序员)一般可以通过C语言中的union和指针来判断当前机器是采用大端存储还是小端存储。
1. 使用union
#include <stdio.h>
union myunion
{
int a;
char b;
};
int main(int argc,char *argv[])
{
union myunion u;
u.a = 1;
printf("b = %d\n",u.b);//若输出的结果是1,则说明是小端存储,若输出的结果是0,则说明是大端存储。
return 0;
}
2.通过指针
#include <stdio.h>
int main(int argc,char *argv[])
{
int a = 1;
char *b = (char *)&a;
printf("*b =%d\n",*b);//若输出的结果是1,则说明是小端存储,若输出的结果是0,则说明是大端存储。
return 0;
}