2013-04-12 2 views
2

Как бы упаковать два значения unsigned short (WORD) в одно значение unsigned long (DWORD) значение?Упаковочные значения в DWORD

Я знаю, как их использовать с помощью HIWORD и LOWORD макросов, но есть ли ... вид обратного макроса для их быстрого хранения в DWORD?

Я программирую на C++ с помощью Microsoft Visual Studio 2012 IDE.

ответ

7

MAKELONG принимает два WORD с и объединяет их в единую DWORD:

DWORD MAKELONG(
    WORD wLow, 
    WORD wHigh 
); 

Не знаю, почему это не называется MAKEDWORD ...

+0

Определенно, что я ищу. Благодарю. – l3utterfly

2

Что-то вроде:

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

должны это сделать.

+0

Спасибо также. Эти ответы дают мне представление о том, что на самом деле происходит за кулисами. Но в качестве ответа я выделил макрос MAKELONG, потому что он короче для записи. :) +1 хотя. – l3utterfly

+0

Да, это официальный метод, я бы сказал. –

Смежные вопросы