首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请教这两个宏的意思

2013-01-07 
请问这两个宏的意思看了半天不是很懂,不知道有什么含义#define Swap16IfLE(s)((CARD16) ((((s) & 0xff)

请问这两个宏的意思
看了半天不是很懂,不知道有什么含义

#define Swap16IfLE(s)    ((CARD16) ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)))
#define Swap32IfLE(l)    ((CARD32) ((((l) & 0xff000000) >> 24) | (((l) & 0x00ff0000) >> 8)  | \
 (((l) & 0x0000ff00) << 8)  | (((l) & 0x000000ff) << 24)))

谢谢
[解决办法]
字节序转换
s = 0x1122 调用Swap16IfLE(s)之后, s = 0x2211
l = 0x11223344 调用Swap32IfLE(l)之后, l = 0x44332211

热点排行