본문 바로가기

공부/윈도우api

[윈도우api] HIWORD

반응형

#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비트)


반응형