做一个WORD 和LONG
#define MAKEWORD(a, b) ((WORD)(((BYTE)((DWORD_PTR)(a) & 0xff)) | ((WORD)((BYTE)((DWORD_PTR)(b) & 0xff))) << 8))
#define MAKELONG(a, b) ((LONG)(((WORD)((DWORD_PTR)(a) & 0xffff)) | ((DWORD)((WORD)((DWORD_PTR)(b) & 0xffff))) << 16))
取WORD高字节和低字节
#define LOWORD(l) ((WORD)((DWORD_PTR)(l) & 0xffff))
#define HIWORD(l) ((WORD)((DWORD_PTR)(l) >> 16))
取BYTE高字节和低字节
#define LOBYTE(w) ((BYTE)((DWORD_PTR)(w) & 0xff))
#define HIBYTE(w) ((BYTE)((DWORD_PTR)(w) >> 8))
取最大值
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
#ifndef min
#define min(a,b) (((a) < (b)) ? (a) : (b))
#endif
转载自https://blog.youkuaiyun.com/hiwoshixiaoyu/article/details/54343557
本文详细介绍了C语言中用于取WORD和LONG的高低字节以及取BYTE的高低字节的宏定义,包括MAKEWORD、MAKELONG、LOWORD、HIWORD、LOBYTE和HIBYTE。此外,还提供了取最大值和最小值的宏定义max和min。这些技巧对于理解低级别内存操作和数据打包很有帮助。
6470

被折叠的 条评论
为什么被折叠?



