word(程式語言中的一種數據類型)

本詞條是多義詞,共4個義項
更多義項 ▼ 收起列表 ▲

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

相關詞條

熱門詞條

聯絡我們