大端模式:数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。
小端模式:数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
大小端转换,先与再移位。
(( a&0x000000ff)<< 24 ) | ( ( a&0x0000ff00 ) << 8 ) | ( ( a&0x00ff0000 ) >> 8 ) | ( ( a&0xff000000 ) >> 24 )
#include <stdio.h>
int main(){
unsigned int a=0x01020304;
a=(((a&0x000000ff)<<24)|((a&0x0000ff00)<<8)|((a&0x00ff0000)>>8)|((a&0xff000000)>>24));
printf("%#x\n",a);
return 0;
}