在DWORD中打包值

时间:2013-04-12 14:01:37

标签: c++ windows bit-manipulation

如何将两个unsigned shortWORD)值打包成一个unsigned longDWORD)值?

我知道如何使用HIWORDLOWORD宏来获取它们,但是有一种...反向宏可以快速将它们存储到DWORD吗?

我使用Microsoft Visual Studio 2012 IDE在C ++中编程。

3 个答案:

答案 0 :(得分:8)

MAKELONG需要两个WORD并将它们合并为一个DWORD

DWORD MAKELONG(
  WORD wLow,
  WORD wHigh
);

不知道为什么它没有被称为MAKEDWORD ...

答案 1 :(得分:2)

类似的东西:

 DWORD x = (lo) | (hi << 16);

应该这样做。

答案 2 :(得分:2)

这个MAKELONG宏怎么样?

DWORD MAKELONG(
  WORD wLow,
  WORD wHigh
);