2013-04-12 23 views
2

如何將兩個unsigned shortWORD)值打包到一個unsigned longDWORD)值?包裝值在DWORD

我知道如何讓他們使用HIWORDLOWORD宏,但是有沒有......一種反向宏將其快速存儲到DWORD

我使用Microsoft Visual Studio 2012 IDE在C++中進行編程。

回答

7

MAKELONG有兩個WORD S和它們組合成一個單一的DWORD

DWORD MAKELONG(
    WORD wLow, 
    WORD wHigh 
); 

不知道爲什麼它不叫MAKEDWORD ...

+0

絕對是我在找的。謝謝。 – l3utterfly

2

喜歡的東西:

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

應該這樣做。

+0

也謝謝。這個答案讓我瞭解幕後實際發生的事情。但是我已經將MAKELONG宏標記爲答案,因爲它寫得更短。 :)雖然。 – l3utterfly

+0

是的,這是官方的方法,我會說。 –