logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

[WINCE] MulDiv 함수 구현

by digipine posted Oct 29, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

기본적은 WinCE API 에서는 MulDiv 함수가 제공되지 않습니다.
이 함수는 화면의 비율이나 DPI 관련 부분을 계산하기에 편리하게 쓰이는데

lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);


와 같이 쓰면 편리하지요.

그래서 다음과 같이 구현해 보았습니다.


int MulDiv(int a, int b, int c)
{
    int nMul = a * b,
        nMod = nMul % c,
        nRes = nMul / c;

    if(nMod >= c / 2)    // Round up if >= 0.5
        nRes++;
    return nRes;
}


좀더 큰 int를 구현하려면  __int64 타입일 사용하시면 됩니다.
TAG •

List of Articles
No. Subject Author Date Views
45 세마포어의 개념과 사용법 digipine 2017.10.29 765
44 [Windows] DOS 명령어 실행하고 결과 스트링 가져오는 샘플 코드 digipine 2017.11.02 2689
43 [WINCE] 키보드 및 마우스 메시지 후킹하기 digipine 2017.10.29 809
42 [WINCE] 메모리카드 상태 감시 digipine 2017.10.29 327
41 [WINCE] Process, Thread API 함수 사용법 digipine 2017.10.29 960
» [WINCE] MulDiv 함수 구현 digipine 2017.10.29 699
39 [WINCE] IAT Hooking 방법과 소스 코드 digipine 2017.10.29 659
38 [WIN32] 파일 핸들로 파일 명 구하기 digipine 2017.10.29 1066
37 [WIN32] 실행 중인 프로세스를 외부에서 강제로 종료, 안전한 TerminateProcess digipine 2017.10.29 3460
36 [WIN32] Process ID로 HWND 구하기 digipine 2017.10.29 5019
35 [Win32] HBITMAP Contrast 조절하는 코드 - RGB 이미지 보정 엉뚱도마뱀 2018.05.04 737
34 [WIN32] API Hook 정리 문서 digipine 2017.10.29 1970
33 [WIN32, WINCE] 디스크 용량 구하는 방법 API GetDiskFreeSpaceEx digipine 2017.10.29 1569
32 [Win API]프로세스 아이디와 윈도우 핸들을 이용 파일명 구하기 digipine 2017.10.29 1393
31 [VC++, WInAPI] 폴더를 통채로 지우기, 서브 폴더 포함, DeleteAllFiles digipine 2017.10.29 1763
30 [MFC] Dialog에서 부모 윈도우 알아내기 digipine 2017.10.28 923
29 [DirectShow] 화면 원본 비율유지 digipine 2017.10.29 960
28 [C#] 프로그램 종료 방법 lizard2019 2019.01.23 6789
27 [C#] 코드 실행 시간 측정 및 DateTime 스트링으로 변환 포맷 lizard2019 2019.01.23 23018
26 [C#] StreamReader 에서의 한글 Encoding 문제 digipine 2017.10.29 1000
Board Pagination Prev 1 2 3 Next
/ 3