C语言–大小端转换
#include <stdio.h>
typedef unsigned char U8;
typedef unsigned int U32;
U32 bigToLittle(U32 value){
U32 temp = 0;
//方式1
// ((U8*)&temp)[0] = ((U8*)&value)[3];//指针-->数组
// ((U8*)&temp)[1] = ((U8*)&value)[2];
// ((U8*)&temp)[2] = ((U8*)&value)[1];
// ((U8*)&temp)[3] = ((U8*)&value)[0];
//方式2
*((U8*)&temp+0) = *((U8*)&value+3);//指针
*((U8*)&temp+1) = *((U8*)&value+2);
*((U8*)&temp+2) = *((U8*)&value+1);
*((U8*)&temp+3) = *((U8*)&value+0);
printf("%x\n",((U8*)&value)[3]);
return temp;
}
int main(char argc,char* argv[])
{
U32 num = 0x12345678;
printf("%x\n",bigToLittle(num));
return 0;
}
本文介绍了如何使用C语言进行字节序转换,通过两种不同的方法实现从大端字节序到小端字节序的转换,展示了具体的代码实现,并在主函数中给出了示例应用。
3515

被折叠的 条评论
为什么被折叠?



