DWORD WORD BYTE 相互转换 DWORD 4个字节 WORD 2个字节 BYTE 1个字节
1) DWORD--->WORD
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(lw);
2)WORD--->DWORD
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(lw); dw=MAKELONG(lw,hw);
3) WORD---->BYTE
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word);
4)BYTE------>WORD
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word); word = MAKEWORD(lb,hb);
5) "ABCD" 或L“你好” 这样的四字节字符串 转换为DWORD 进行保存
WCHAR str[3]={L"你好"}; memcpy(&dWord,str,4); WCHAR hChar=(WCHAR)HIWORD(dWord); // 好 WCHAR lChar=(WCHAR)LOWORD(dWord); // 你
综合例子:
char *name="abcd"; DWORD dWord=0; WORD hw=HIWORD(dWord); WORD lw=LOWORD(dWord); BYTE hhb=HIBYTE(hw); BYTE lhb=LOBYTE(hw); BYTE hlb=HIBYTE(lw); BYTE llb=LOBYTE(lw); hhb = name[0]; hlb = name[1]; lhb = name[2]; llb = name[3]; hw = MAKEWORD(hlb, hhb); //ba lw = MAKEWORD(llb, lhb); //dc //dWord 为 "dcba" dWord = MAKELONG(lw, hw); //dcba hw=HIWORD(dWord); // ba lw=LOWORD(dWord); // dc hhb=HIBYTE(hw); // a lhb=LOBYTE(hw); // b lhb=HIBYTE(lw); // c llb=LOBYTE(lw); // d /// 对比程序 /// // dWord 为 "abcd" memcpy(&dWord,name,4); hw=HIWORD(dWord); // cd lw=LOWORD(dWord); // ab hhb=HIBYTE(hw); // d lhb=LOBYTE(hw); // c lhb=HIBYTE(lw); // b llb=LOBYTE(lw); // a
本文使用 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。