반응형
#define HIWORD(I) ((WORD)(((DWORD)(I) >> 16) & 0xFFFF))
상위 16비트를 얻어냄
WORD = 16비트
DWORD = 32비트
I가 0001 0010 0011 0100이라고 가정
1. (DWORD)(I) >> 16
오른쪽으로 16비트를 이동
자료값 범위를 벗어난 0011 0100은 삭제
결과 = 0000 0000 0001 0010
2. 1번의 결과값 & 0xFFFF
결과 = 0000 0000 0001 0010
3. (WORD)2번의 결과값
32비트에서 16비트로 축소시 앞의 16비트를 날려버림
뒤의 16비트만 남음
결과 = 0001 0010 (상위 16비트)
반응형