1. 大端:高位存在低地址,低位存在高地址
比如 :0x12345678
big-endian.png
2. 小端:高位存在高地址,低位存在低地址
little.png3. 判断计算机是大端还是小端,代码如下所示:
#include<stdio.h>
int main()
{
int val=0x11223344;
char *p=(char *)&val;
if(*p==0x44)//若低地址为低位0x44,则为小端模式
printf("Little Endian\n");
if(*p==0x11)//若低地址为高位0x11,则为大端模式
printf("Big Endian\n");
return 0;
}
4. 大端与小端的转换
#include<stdio.h>
int main()
{
int val=0x11223344;
val=((val<<8)&0xFF00FF00|(val>>8)&0xFF00FF);
val=(val<<16)|(val>>16);
printf("%x\n",val);
return 0;
}
以上
网友评论