怎样判断你的电脑是大端字节序存储还是小段字节序存储
发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,简单来讲所谓的大端存储就是将高字节序的内容存在低地址处,那么,小端存储就是将低字节序的内容存在高地址处。 (图片做以解释)在计算机中,数据的是以其二进制补码的形式存储于计算机中的,上边又提到了大端存储
简单来讲所谓的大端存储就是将高字节序的内容存在低地址处,那么,小端存储就是将低字节序的内容存在高地址处。 (图片做以解释)
在计算机中,数据的是以其二进制补码的形式存储于计算机中的,上边又提到了大端存储和小段存储,但是,每台计算机的存储方式又是不一样 的,那么,怎么判断一台计算机是打断存储还是小段存储呢?!
下面就来分装一个函数来实现此功能:
我们知道 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;}