返回

(面试题)请简述大端字节和小端字节序的概念,设计一个程序来判断当前机器的字节序

发布时间: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;
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
运用c完成扫雷游戏 2023-02-14 03:15:20