(面试题)请简述大端字节和小端字节序的概念,设计一个程序来判断当前机器的字节序
发布时间:2023-02-14 03:48:49 226 相关标签:
简述
大端储存:高位存低地址、低位存高地址;小端存储:高位存高地址、低位存低地址
设计
分析:
从左到右为低地址到高地址
令a为0x00000001,如果是大端则最左边的位数表示的数是00;如果是小端则最左边的那个位数是01
初步代码:
#include
int main()
{
int a=1;
char* p=(char*)&a;
if(*p==1)
{
printf("小端存储\n");
}
else
{
printf("大端存储\n");
}
return 0;
}
优化:
#include
int check_sys()
{
int a=1;
char* p=(char*)&a;
if(*p==1)
return 1;
else
return 0;
}
int main()
{
//返回1:小端
//返回0:大端
int ret=check_sys();
if(ret==1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
优化2:
#include
int check_sys()
{
int a=1;
char* p=(char*)&a;
if(*p==1)
return *p;
//返回1:小端
//返回0:大端
}
int main()
{
//返回1:小端
//返回0:大端
int ret=check_sys();
if(ret==1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
优化3:
#include
int check_sys()
{
int a=1;
return *(char*)&a;
//返回1:小端
//返回0:大端
}
int main()
{
//返回1:小端
//返回0:大端
int ret=check_sys();
if(ret==1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
return 0;
}
文章来源: https://blog.51cto.com/u_15899086/6042275
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报