读书人

请教这两个宏的意思

发布时间: 2013-01-07 10:02:24 作者: rapoo

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

#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

读书人网 >C++

热点推荐