简单来讲所谓的大端存储就是将高字节序的内容存在低地址处,那么,小端存储就是将低字节序的内容存在高地址处。 (图片做以解释)
在计算机中,数据的是以其二进制补码的形式存储于计算机中的,上边又提到了大端存储和小段存储,但是,每台计算机的存储方式又是不一样 的,那么,怎么判断一台计算机是打断存储还是小段存储呢?!
下面就来分装一个函数来实现此功能:
我们知道 1 在计算机中存储的是00000000 00000000 00000000 00000001(补码),其十六进制表示为FF FF FF FF,如果取其地址,
计算机就有可能显示的是:01 00 00 00; ———————— 小端存储
或者:00 00 00 01; ———————— 大端存储
因此,当我们只要知道这个数据存储以后第一位是否为1就可以来判断这台计算机的存储方式是大端存储或者小段存储(当然,这里的数字可以随便给,但是为了方便起见就选1)
int sys_check()
{
int num = 1;
char *p = (char *)#
if(*p == 1)
return 1; //小端存储
else
return 0; //大端存储
}
int main()
{
int num = 1;
int ret = sys_check();
if(ret == 1)
{
printf("little\n");
}
else if(ret == 0)
{
printf("big\n");
}
system("pause");
return 0;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。