The MAKEWORD macro creates a WORD value by concatenating the specified values.
// MAKEWORD宏创建一个指定参数连接的WORD值
Syntax //语法
WORD MAKEWORD(
BYTE bLow, //低位 BYTE bHigh //高位 );
Parameters //参数
bLow
- Specifies the low-order byte of the new value. //指定一个低位的新值
bHigh- Specifies the high-order byte of the new value. //指定一个高位的新值
Return Value //返回值
The return value is a WORD value. //返回一个WORD值
Macro Information //宏信息
//所在的头文件及系统
Header Declared in Windef.h, include Windows.h Minimum operating systems Windows 95, Windows NT 3.1
以上翻译BY 小盘//
看函数本词名为MAKEWORD(),故可解为:make一个WORD值,即返回一个unsigned short值。其真正用途何在?其二参又为何解?故而百度之。
百度而知其意,MAKEWORD()将其二参连为一体,按二进制进行连接,一参为低为,二参为高位,两数连接而成一数。示例如下:
#include "stdafx.h"
#include "windows.h"
#include <iostream>
#include <bitset>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ //Code by 小盘 http://www.pankuu.cn
WORD wVersionRequested = MAKEWORD(2,1); //将MAKEWORD()的值返回给一个WORD值
bitset<16> myset(wVersionRequested);
cout << myset << endl;
cout << wVersionRequested << endl;
return 0;
}
上面代码很形象的展示了MAKEWORD()函数的原理,先将两个参数转换为二进制,然后将第一个参数放在低位,第二个参数放在高位,最后转换为十进制。
希望可以帮助和我一样的新手。
声明:因发现有人转载本博客的文章没有注明来自小盘's Blog,故转载请注明转自http://www.pankuu.cn 小盘's Blog