如何判断计算机是大端存储还是小端存储?

1)计算机内部存数据时有两种方式,分别是大端存储和小端存储。

2)二者的区别是,大端存储是数据的低位存在高地址处,高位存在低地址处。而小端存储是数据的低位就放在低地址处,高位放在高地址处。

3)为什么选择联合体?因为联合体是多个变量共用一块内存空间,与我们的设计思路吻合。

代码如下:

如果输出1即是小端,输出0即是大端。

#include 

union judge
{
	int n;
	char ch;
};

int main()
{
	union judge u;
	u.n = 1;
	printf("%d",u.ch);
	return 0;
}

代码解析:整型1在两种存储模式下具体存放方式(数据以16进制显示)。

假设左边低地址,右边高地址

大端存储1:00 00 00 01

小端存储1:01 00 00 00

用char 类型来读取时只读取前两位(即一个字节)。

所以就可以根据输出值来判断计算机的存储模式。

你可能感兴趣的:(记忆和探索,算法,数据结构)