1. 大端存储和小端存储含义
1.1 大端存储
就是数据的低位放到内存的高地址处,数据的高位放到内存的低地址处。
1.2 小端存储
就是数据的低位放到内存的低地址处,数据的高位放到内存的高地址处。
2. 数据的高低位
eg:int a = Oxa409;
书写在前面的是高位数据,书写后面的低位数据
3. 判断计算机是否为大小端的函数
3.1 判断内存地址最低位数据是否为数据中的低位
int is_little_endian(){
int a = 0x0102;
// 取出最低位置数
char b = ((char*)&a)[0];
// 最低位置为2,则小端
if ((int)b == 2)
return 1;
return 0;
}
3.1 利用联合体判断地址最低位是否位数据中的低位
int is_little_endian(){
union t{
int a;
char ch;
};
union t uniont;
uniont.a = 0x0102;
// 小端模式低地址处为2
if ((int)uniont.ch == 2)
return 1;
return 0;
}