pre{
line-height:1;
color:#800080;
background-color:#d2c39b;
font-size:16px;}.sysFunc{color:#627cf6;font-style:italic;font-weight:bold;}
.selfFuc{color:#800080;}
.bool{color:#d2576f;}
.condition{color:#000080;font-weight:bold;}
.key{color:#000080;}
.var{color:#800000;font-style:italic;}
.Digit{color:#ff00ff;font-weight:bold;}
.includePre{color:#800080;}
.operator {color:#008000;font-weight:bold;}
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
本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。