首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

MAKEWORD为什么对每个参数强转3次,该如何解决

2012-04-01 
MAKEWORD为什么对每个参数强转3次#define MAKEWORD(a, b)((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WO

MAKEWORD为什么对每个参数强转3次
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
一个word就2个字节,为啥要转成DWORD_PTR,请教下。
依葫芦画瓢弄了个8字节
#define MAKELONGLONG(a, b) ((DWORD64)(((DWORD)((DWORD64)(a) & 0xffffffff)) | ((DWORD64)((DWORD)((DWORD64)(b) & 0xffffffff))) << 32)),是这样吧


[解决办法]
为了防止符号位扩展

热点排行