关于MAKEWORD()函数解决办法
关于MAKEWORD()函数
MSDN上是这样的
WORD MAKEWORD(
BYTE bLow,
BYTE bHigh
);
我定义了三个变量
BYTE Low = 1;
BYTE Hign = 0;
WORD CaseNum = 0;
分别是指定低8位和高8位,
用MAKEWORD函数的话按照我的理解应该是CaseNum = MAKEWORD(Low,High);
值不是应该是0000,0000,0000,0001么,为什么得到的结果是12337?
------解决方案--------------------
没有问题,就是1啊
不知道你那里用的有问题
顺便这个是个宏,并非函数
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff))
------解决方案--------------------
((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
------解决方案--------------------
应该是没错的,保险起见,这样写:
MSDN上是这样的
WORD MAKEWORD(
BYTE bLow,
BYTE bHigh
);
我定义了三个变量
BYTE Low = 1;
BYTE Hign = 0;
WORD CaseNum = 0;
分别是指定低8位和高8位,
用MAKEWORD函数的话按照我的理解应该是CaseNum = MAKEWORD(Low,High);
值不是应该是0000,0000,0000,0001么,为什么得到的结果是12337?
------解决方案--------------------
没有问题,就是1啊
不知道你那里用的有问题
顺便这个是个宏,并非函数
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff))
------解决方案--------------------
((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
------解决方案--------------------
应该是没错的,保险起见,这样写:
CaseNum = MAKEWORD((Low), (High));