複製鏈接
請複製以下鏈接發送給好友

word

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

鎖定
WORD,是編程語言中的一種數據類型,是指無符號的短整型,且佔2個字節。
中文名
無符號的短整型別名
外文名
WORD
定    義
typedef unsigned short WORD
編程語言
C++

word基本定義

微軟 [1]  的定義:
typedef unsigned short WORD;
説明WORD是無符號的短整型,且佔2個字節

word科學相關

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
參考資料
  • 1.    word  .百度詞典[引用日期2013-08-05]