首先什么是大端存储什么是小段存储
1.小端存储:计算机中数据的存储都是以二进制存储,并且低位字节序列存在低地址处
2.大端存储:低字节序列存在高地址处.
模拟实现判断大小端问题
第一种方法:函数法(常规方法)
int Storage_method()//函数
{
int a = 1;// 因为1 在计算机存储中是 01 00 00 00
return *(char*)&a;//将a的地址强制类型转换为char*类型 保证一次访问一个字节
}
int main()
{
int ret = Storage_method();
if (1 == ret)//解引用后的返回值 为1 则得到是小端存储
printf("小端存储\n");
else
printf("大端存储\n");
return 0;
}
2.联合体实现判断
int Storage_method()
{
union
{
char a;
int c;
}u;
u.c = 1;//联合体中 a和c共存在四个字节中 将c赋初值1 则内存中为01 00 00 00;其中a占一个字节 如果返回得到1说明是小端存储
return u.a;
}
int main()
{
int ret = Storage_method();
if (1 == ret)
printf("小端存储\n");
else
printf("大端存储\n");
return 0;
}