makeword 函數學習

MAKEWORD 宏 平臺:SDK
  這個宏創建一個被指定變量連接而成的WORD變量。返回一個WORD變量。
  (注:typedef unsigned short WORD;)
  WORD MAKEWORD(
  BYTE bLow, //指定新變量的低字節序;
  BYTE bHigh //指定新變量的高字節序;
  );
  例如:
  WORD wVersionRequested;
  wVersionRequested = MAKEWORD( 2, 2 );
  #define MAKEWORD(a,b) ((WORD) (((BYTE) (a)) | ((WORD) ((BYTE) (b))) << 8))
  makeword是將兩個byte型合併成一個word型,一個在高8位(b),一個在低8位(a)
  makelparam、makelong和makewparam都是一樣的,將兩個word型合併成一個dword型。一個在高16位,一個在低16位
  
  比如a=2;b=1
  2的二進制是00000010 1的二進制爲00000001 B是表示高8位,A表示低8位 合併起來就是
  100000010
 
    例如:
       #include <iostream.h>
  #include <windows.h>
  using namespace std;
  int main()
  {
  WORD wVersionRequested;
  wVersionRequested=MAKEWORD(2,2);
  cout << wVersionRequested << endl;
  return 0;
  }
  輸出的結果是514,說明是將前面的2和後面的2組成一個新的WORD。即0000 0010 0000 0010
  而這個結果正是:512 + 2 = 514.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章