什么是大端/小端?
大端(存储)模式,
是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;
小端(存储)模式,
是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。
思路:
定义一个整形数据a为1,那么这个数据在内存中为 00 00 00 01 ,他的低位为最右边的01,高位为最左边的00。
如果电脑为小端,则低位01保存在低地址中,这时我们用char强制转换a,得到的正是低地址中的数据01。
如果电脑为大端,则低位01保存在高地址中,此时低地址中数据为高位的00,利用这一点的不同,即可判断出电脑为高位还是低位。
利用代码实现大端小端的判断
bool check()
{
int i = 1;
char* p = (char *)&i;
return i;
}
void main()
{
bool a=check();
if (a == 0x01)
printf("小端");
else
printf("大端");
}