夏夜的风得风呼呼吹。。。
小端: 低bit数据放在低地址。 和我们的逻辑一致。以字节为点位。
方法1:
声明一个联合体,联合体内有两个元素:int 和char。
#include <stdio.h>
union n{
int a;
char b;
};
int main(){
union n fg;
fg.a=1;
if(fg.b!=0)
printf("Little\n");
else
printf("Big\n");
return 0;
}
共用体中的所有元素都存放在一块内存空间中,而char b的起始地址是从int型的起始地址对齐的, 如果是小端,int的第一个字节对应1,则char b为1。
方法2:
面试时,随机想出来得。定义一个int变量,int a=1;然后取得这个变量得地址,然后,检查高地址为1还是低地址为1.
方法3:
int a=1;
char b = (char) a;
一个int型变量占四个字节,一个char型变量占一个字节,将一个int型变量强转为char类型的变量时,只保留低8位。 如果是小端存储,则b==1;