这个宏是什么意思?有什么用呀?

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:30:36
#define EREV32(x) ((((x)&0xFF000000)>>24) | \
(((x)&0x00FF0000)>> 8) | \
(((x)&0x0000FF00)<< 8) | \
(((x)&0x000000FF)<<24))
一个程序里看到的宏,不知道有什么用?知道的告诉一下。

就是位操作。
倒来倒去……

假设原来是一个32位数可以用ABCD来表示。
(A,B,C,D为8位数值)

进行宏操作后,就变成了DCBA了。

将x的四位倒置(是256进制的四位)

例如:
x=0x11223344
EREV32(x)=0x44332211

用X进行一些位操作运算