大小端判断及相互转化

//小端转化为大端,。。大端转化为小端也是一样的。

#include <stdio.h>
int main()
{
int i = 0x11223344;
char * a = (char *)&i;
char s;
int j;
printf("Little Endian:\n");
for (j = 0; j < 4; j++)
printf("%x\n", a[j]);
printf("\n");
s=a[0];
a[0]=a[3];
a[3]=s;
s=a[1];
a[1]=a[2];
a[2]=s;
printf("%x\n",i);
}

//判断大小端模式

#include<stdio.h>
int main()
{
int i=0x12345678;
if(*(char *)&i=0x12) //低字节做与运算
printf("big endian");\
else if(*(char *)&i==0x78)
printf("Little endian");
}

更多嵌入式linux及编程学习交流的文章,请访问我的个人网站”恩享网” :http://www.enxiang.icoc.cc,期待与您共同进步。

原文地址:https://www.cnblogs.com/LJTbozai/p/3076463.html