word(程式语言中的一种数据类型)
WORD是无符号的短整型,且占2个位元组。
基本介绍
- 中文名:无符号的短整型别名
- 外文名:WORD
- 定义:typedef unsigned short WORD
- 程式语言:C++
基本定义
微软的定义:
typedef unsigned short WORD;
说明WORD是无符号的短整型,且占2个位元组
科学相关
WORD DWORD BYTE相互转换:
DWORD 4个位元组
WORD 2个位元组
BYTE 1个位元组
1) DWORD--->WORD
[cpp]
- DWORD dw=0;
- WORD hW=HIWORD(dw);
- WORD lW=LOWORD(dw);
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(dw);
2)WORD--->DWORD
[cpp]
- DWORD dw=0;
- WORD hW=HIWORD(dw);
- WORD lW=LOWORD(dw);
- dw=MAKELONG(lW,hW);
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(dw); dw=MAKELONG(lW,hW);
3) WORD---->BYTE
[cpp]
- WORD word=0;
- BYTE hb=HIBYTE(word);
- BYTE lb=LOBYTE(word);
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word);
4)BYTE------>WORD
[cpp]
- WORD word=0;
- BYTE hb=HIBYTE(word);
- BYTE lb=LOBYTE(word);
- word = MAKEWORD(lb,hb);
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word); word = MAKEWORD(lb,hb);
5) "ABCD" 或L“你好” 这样的四位元组字元串 转换为DWORD 进行保存
[cpp]
- WCHAR str[3]={L"你好"};
- memcpy(&dWord,str,4);
- WCHAR hChar=(WCHAR)HIWORD(dWord); // 好
- WCHAR lChar=(WCHAR)LOWORD(dWord); // 你
WCHAR str[3]={L"你好"}; memcpy(&dWord,str,4);
综合例子:
[cpp]
- 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
转载请注明出处安可林文章网 » word(程式语言中的一种数据类型)