使用联合union判断数值存储方式(大、小端存储)

大小端存储

在这里插入图片描述

判断方法:当 1 用整型int存储之后赋值给char,再经判断可知是数据的存储方式 (巧妙运用了联合的存储特性:联合体的成员从低地址开始存放)
在这里插入图片描述

若是大端存储,则c=0,返回 0;
反之小端存储,c=1,返回 1;

记忆口诀:
大端存储:高(地址)存低(数值位),低存高
小端存储:高存高,低存低。

#include<stdio.h>

int CheckSystem() {
	 union Check {
		int n;
		char c;
	}u;
	u.n = 1;
	u.c = u.n;
	return u.c == 1;
}

int main()
{
	printf("%d", CheckSystem());
	return 0;
}
posted @ 2021-01-06 12:08  nepu_bin  阅读(130)  评论(0)    收藏  举报