一般一个16进制的数,左边是高位,右边是地位,如0xA1DF,则高位位0xA1,地位为0xDF。
大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址端。
小端模式,是指数据的高字节保存在内存的高地址中,低位字节保存在在内存的低地址端。
比如 一个变量x的十六进制表示为 0x01 23 45 67,如果是大端存储 则是这样存储的:
高地址--------->低地址
67 45 23 01 数据的高位 放在低地址 低位放在高地址
而小端模式是这样:
01 23 45 67 数据的低位 放在低地址 高位放在高地址
判断函数如下:
#include <stdio.h>
int checkmode()
{
union UN
{
char c;
int i;
}un;
un.i = 1;
return un.c;
}
int main(void)
{
if(checkmode()==1)
printf("Thsi is Little-endian!\n");
else
printf("This is Big-endian!\n");
return 0;
}