大端小端判断

大端小端由机器CPU决定。

大端

低位高地址,高位低地址。

小端

低位低地址,高位高地址。

用联合体判断大端小端

#include<stdio.h>
union un
{
    
    
	int a;
	char b;

}u;
void main()
{
    
    
	u.a = 1;//既赋值给
	printf("%d\n", u.b);
	//a  0000 0000 0000 0000 0000 0000 0000 0001
	//b                                0000 0001
	//b取的是低地址的8位,存在1则说明a的存储是低位存储在低地址,则为小端。
}

用简单函数判断大端小端;

#include<stdio.h>
int fun()
{
    
    
	int a = 1;
	char *p = (char*)&a;//取四个字节的低地址的一个字节;
	return *p;			//a的1值存放在低地址还是高地址;
}
void main()
{
    
    
	char c=fun();
	if (c = 1)         //char取低地址的一个字节
		printf("小端\n");
	else
		printf("大端\n");
}

猜你喜欢

转载自blog.csdn.net/weixin_52270223/article/details/110205786