大端小端

测试本机是打断还是小端;

以前总听说大端小端,一直没太理解,其实只要动动手一切就差不多了!

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中;


#include <stdio.h>
union Duan{

	char a[sizeof(int)];
	int num;
};

int main()
{
	union Duan d;
	d.num=134480385;
	//这个数也有它的意义,其二进制数为:00001000 000000100 00000010 00000001 ,四个字节依次为:8-4-2-1;
	//地址								0012ff47 0012ff46  0012ff45	0012ff44
	printf("%p\n",&d.a[0]);//0012ff44
	printf("%d\n",d.a[0]);

	printf("%p\n",&d.a[1]); //0012ff45
	printf("%d\n",d.a[1]);

	if(sizeof(int)==4)
	{
		if(d.a[0]==1 && d.a[3]==8)
			printf("此计算机为小端.\n");
		if(d.a[0]==8  && d.a[3]==1)
			printf("此计算机为大端。\n");
	}

	return 0;
}



本人愚钝,领悟至此,颇有感慨,与己共勉,陋文浅显,见者海涵。

你可能感兴趣的:(大端,小端)