新闻资讯
看你所看,想你所想

word(程式语言中的一种数据类型)

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]
  1. DWORD dw=0;
  2. WORD hW=HIWORD(dw);
  3. WORD lW=LOWORD(dw);
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(dw);

2)WORD--->DWORD
[cpp]
  1. DWORD dw=0;
  2. WORD hW=HIWORD(dw);
  3. WORD lW=LOWORD(dw);
  4. dw=MAKELONG(lW,hW);
DWORD dw=0; WORD hW=HIWORD(dw); WORD lW=LOWORD(dw); dw=MAKELONG(lW,hW);

3) WORD---->BYTE
[cpp]
  1. WORD word=0;
  2. BYTE hb=HIBYTE(word);
  3. BYTE lb=LOBYTE(word);
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word);

4)BYTE------>WORD
[cpp]
  1. WORD word=0;
  2. BYTE hb=HIBYTE(word);
  3. BYTE lb=LOBYTE(word);
  4. word = MAKEWORD(lb,hb);
WORD word=0; BYTE hb=HIBYTE(word); BYTE lb=LOBYTE(word); word = MAKEWORD(lb,hb);

5) "ABCD" 或L“你好” 这样的四位元组字元串 转换为DWORD 进行保存
[cpp]
  1. WCHAR str[3]={L"你好"};
  2. memcpy(&dWord,str,4);
  3. WCHAR hChar=(WCHAR)HIWORD(dWord); // 好
  4. WCHAR lChar=(WCHAR)LOWORD(dWord); // 你
WCHAR str[3]={L"你好"}; memcpy(&dWord,str,4);

综合例子:
[cpp]
  1. char *name="abcd";
  2. DWORD dWord=0;
  3. WORD hw=HIWORD(dWord);
  4. WORD lw=LOWORD(dWord);
  5. BYTE hhb=HIBYTE(hw);
  6. BYTE lhb=LOBYTE(hw);
  7. BYTE hlb=HIBYTE(lw);
  8. BYTE llb=LOBYTE(lw);
  9. hhb = name[0];
  10. hlb = name[1];
  11. lhb = name[2];
  12. llb = name[3];
  13. hw = MAKEWORD(hlb, hhb); //ba
  14. lw = MAKEWORD(llb, lhb); //dc
  15. //dWord 为 "dcba"
  16. dWord = MAKELONG(lw, hw); //dcba
  17. hw=HIWORD(dWord); // ba
  18. lw=LOWORD(dWord); // dc
  19. hhb=HIBYTE(hw); // a
  20. lhb=LOBYTE(hw); // b
  21. lhb=HIBYTE(lw); // c
  22. llb=LOBYTE(lw); // d
  23. /////////////////////// 对比程式 ///////////////////////////////////////////////////
  24. // dWord 为 "abcd"
  25. memcpy(&dWord,name,4);
  26. hw=HIWORD(dWord); // cd
  27. lw=LOWORD(dWord); // ab
  28. hhb=HIBYTE(hw); // d
  29. lhb=LOBYTE(hw); // c
  30. lhb=HIBYTE(lw); // b
  31. llb=LOBYTE(lw); // a

转载请注明出处安可林文章网 » word(程式语言中的一种数据类型)

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com