判断大端小端的两种方法

首先我们要明白,什么是大端,什么是小端。拿二进制的1来举例,当它在机器中存储时会转换成‘00000000000000000000000000000001’判断大端小端的两种方法_第1张图片

看了上面那张图,大家应该明白了什么是大端存储什么是小端存储吧?那我们如何判断我们的机器是大端存储还是小端存储呢?有两种解决方法。

(一)指针法

#include 
int main()
{
	int val = 1;
	char *ret = (char *)&val;
	if (*ret == 1)
		printf("小端存储");
	else
		printf("大端存储");
	return 0;
}


(二)联合法

#include 
union UN
{
	int a;
	char c;
};
int main()
{
	union UN un;
	un.a = 1;
	if (un.c == 1)
		printf("小端存储");
	else
		printf("大端存储");
	return 0;
}
这样就可以很轻易的检测出你的机器是大端存储还是小端存储啦~很简单吧!

判断大端小端的两种方法_第2张图片

你可能感兴趣的:(判断大端小端的两种方法)