¿øÇü |
int MulDiv(int nNumber, int nNumerator, int nDenominator); |
MFC ¿øÇü |
ÇØ´çÇÏ´Â ÇÔ¼ö ¾øÀ½ |
Àμö |
¢ºnNumber : °è»ê¿¡ »ç¿ëµÉ °ª ¢ºnNumerator : °öÇØÁö´Â °ª ¢ºnDenominator : ³ª´©´Â °ª |
¸®ÅÏ |
¼º°øÇßÀ» °æ¿ì °è»ê°ªÀ» °öÇÏ°í ³ª´« °á°ú¸¦ ¸®ÅÏÇÑ´Ù. ¿À¹öÇ÷ο찡 ¹ß»ýÇ߰ųª ³ª´©´Â °ªÀÌ 0ÀÎ °æ¿ì´Â -1À» ¸®ÅÏÇÑ´Ù. |
¼³¸í |
nNumber * nNumerator / nDenominator ½ÄÀ» °è»êÇÑ´Ù. Áï ù¹ø° Àμö¿Í µÎ¹ø° Àμö¸¦ °öÇÏ°í ±× °á°ú¸¦ ¼¼¹ø° Àμö·Î ³ª´« °á°ú¸¦ ¸®ÅÏÇØ ÁØ´Ù. ´ÙÀ½ ¿¹¸¦ º¸ÀÚ. a=12; ÀÌ °æ¿ì d´Â 12*23/3ÀÇ °á°ú´Â 92·Î °è»êµÈ´Ù. ÀÌ·± °è»êÀº ±»ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê°í °ð¹Ù·Î ¼ö½ÄÀ» »ç¿ëÇصµ µÉ °Í °°Áö¸¸ MulDiv ÇÔ¼ö´Â °è»êÁßÀÇ ¿À¹öÇ÷ο츦 ó¸®ÇØÁشٴ Á¡¿¡ ÀÖ¾î¼ ¼ö½Ä°ú´Â ´Ù¸£´Ù. ¸¸¾à °öÇÑ °á°ú°¡ 32ºñÆ® ¹üÀ§¸¦ ³Ñ¾î¼´õ¶óµµ ³ª´« °á°ú°¡ ´Ù½Ã 32ºñÆ® ¹üÀ§¿¡ µç´Ù¸é Á¤»óÀûÀÎ °è»êÀÌ ¼öÇàµÈ´Ù. ´ÙÀ½ ¿¹Á¦´Â 32ºñÆ® ¹üÀ§¸¦ ³Ñ¾î¼´Â °ö¼À°ú ³ª´°¼ÀÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù. LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { HDC hdc; PAINTSTRUCT ps; int a,b,c,d; char str[128]; switch(iMessage) { case WM_PAINT: hdc=BeginPaint(hWnd, &ps); a=1234567; b=8901234; c=123456; d=MulDiv(a,b,c); wsprintf(str,"°á°ú´Â %dÀÔ´Ï´Ù",d); TextOut(hdc,10,10,str,lstrlen(str)); EndPaint(hWnd, &ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return(DefWindowProc(hWnd,iMessage,wParam,lParam)); } a¿Í b¸¦ °öÇÑ °á°ú´Â 1Á¶´ÜÀ§ÀÌÁö¸¸ ÀÌ °ªÀ» ´Ù½Ã ³ª´©¸é 32ºñÆ® ¹üÀ§¾ÈÀÇ °á°ú¸¦ ¸®ÅÏÇϹǷΠÁ¤»óÀûÀÎ °è»êÀ» ÇØ ³½´Ù. ±×·¯³ª ÀÌ ÇÔ¼ö ´ë½Å 1234567 * 8901234 / 123456¶ó´Â ¼ö½ÄÀ» °ð¹Ù·Î »ç¿ëÇϰųª d=a*b/c¶ó´Â ¼ö½ÄÀ» »ç¿ëÇÏ¸é ¿À¹öÇ÷ο쿡 ÀÇÇØ Á¦´ë·Î °á°ú¸¦ °è»êÇÏÁö ¸øÇÑ´Ù. |
Âü°íÇÔ¼ö |
Int32x32To64, UInt32x32To64 |
Ç÷§Æû | 95ÀÌ»ó |
ÂüÁ¶ |
|
written by http://www.winapi.co.kr
|