怎样判断你的电脑是大端字节序存储还是小段字节序存储

简单来讲所谓的大端存储就是将高字节序的内容存在低地址处,那么,小端存储就是将低字节序的内容存在高地址处。  (图片做以解释)


怎样判断你的电脑是大端字节序存储还是小段字节序存储



在计算机中,数据的是以其二进制补码的形式存储于计算机中的,上边又提到了大端存储和小段存储,但是,每台计算机的存储方式又是不一样 的,那么,怎么判断一台计算机是打断存储还是小段存储呢?!

下面就来分装一个函数来实现此功能:

我们知道 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;
}