谁能知道这个宏的具体含义识什么??
# define SWAP(n) \
    (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24))

解决方案 »

  1.   

    n = 0x12345678
    then swap(n) = 0x78563412
      

  2.   

    这两步怎么感觉部队啊:(((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00)
      

  3.   

    这个宏的目的可能是实现数据逆序
    例如:n=FFEEDDCC;
    ((n) << 24)  -->CC000000;
    (((n) & 0xff00) << 8) -->00DD0000;
    (((n) >> 8) & 0xff00)   -->0000EE00;
    ((n) >> 24)) -->000000FF;(((n) << 24) |(((n) & 0xff00) << 8) |(((n) >> 8) & 0xff00) | ((n) >> 24))) = CCDDEEFF;
      

  4.   

    四字节数倒序, 4321->1234比如:以前的数据是  AABBCCDD --> DDCCBBAA