상세 컨텐츠

본문 제목

비트연산자 구분 값을 2개를 BYTE나 DWORD 하나의 값으로 만들어 보낼때

프로그래밍 관련/프로그래밍 관련팁

by AlrepondTech 2010. 2. 12. 11:46

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

#define MAKEWORD(a, b)      ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8))
#define MAKELONG(a, b)      ((LONG)(((WORD)(((DWORD_PTR)(a)) & 0xffff)) | ((DWORD)((WORD)(((DWORD_PTR)(b)) & 0xffff))) << 16))
#define LOWORD(l)           ((WORD)(((DWORD_PTR)(l)) & 0xffff))
#define HIWORD(l)           ((WORD)((((DWORD_PTR)(l)) >> 16) & 0xffff))
#define LOBYTE(w)           ((BYTE)(((DWORD_PTR)(w)) & 0xff))
#define HIBYTE(w)           ((BYTE)((((DWORD_PTR)(w)) >> 8) & 0xff))

 

 

=================================

=================================

=================================

 

 




예로 들어 마우스 포인터값 전달할때 (DB 자료형 하나로 저장해야할떄도 유리)

MAKELONG(point.x,  point.y);

POINT mousePoint = { short(LOWORD(lParam)), short(HIWORD(lParam)) };

이런씩으로 하나의 값으로 x, y값을 받아 올수 있다.


=================================

=================================

=================================

 

 






반응형


관련글 더보기

댓글 영역