<?xml version="1.0" encoding="euc-kr" ?>
<rss version="2.0">
<channel>
<title>DDART&amp;#39;S NOTE</title>
<link>http://ddart.net/tt/index.php</link>
<description>¾È³çÇÏ¼¼¿ä. &amp;#46397;&amp;#45373;¿¡µµ ±× À¯¸íÇÑ ÅÂÅÍÅøÁî¸¦ ÀÌ¿ëÇØ ºí·Î±×°¡ ´Þ·È½À´Ï´Ù. °³ÀÎ °³¹ß³ëÆ®¿ëÀ¸·Î ¾µ²«µ¥ ¸î ÀÏÀÌ³ª °¥Áö. :-)</description>
<language>ko</language>
<pubDate>Wed, 19 Apr 2006 15:29:44 +0900</pubDate>
<item>
<title>IEEE Floating Point Format</title>
<link>http://ddart.net/tt/index.php?pl=11</link>
<description><![CDATA[ ÀÎÅÚÆÀÀÌ ±Ç°íÇÑ KSC Floating Point Standard¸¦ IEEE°¡ Ã¤ÅÃÇÑ format ÀÌ´Ù.<br />
C/C++ ¿¡¼­ float, double typeÀ¸·Î ¾²ÀÌ´Â real number¸¦ Ç¥ÇöÇÏ±âÀ§ÇÑ binary format.<br />
¿ì¼± single precision format (floatÇü) À¸·Î ÇÏ³ªÀÇ data¸¦ Ç¥ÇöÇÏ±â32bit¸¦ »ç¿ëÇÏ¸ç<br />
 ±× Æ÷¸ËÀº high order·Î ´ÙÀ½°ú °°´Ù. <br />
1bit(sign bit)-8bit(exponent)-23bit(mantissa)<br />
dobule precision format(dobule)Àº 64bit¸¦ »ç¿ëÇÏ¸ç ±×Æ÷¸ËÀº<br />
1bit(sign bit)-11bit(exponent)-52bit(mantissa) ÀÌ´Ù.<br />
1. sign bit : °ªÀÌ ¾øÀ¸¸é +ÀÌ°í ÀÖÀ¸¸é -<br />
2. exponent: 2¿¡ ´ëÇÑ ½Â¼ö (single -127, dobule -1023 ÀÌ base)<br />
3. mantissa: precision À» ³ªÅ¸³»´Â °¡¼ö. 1<=mantissa<2ÀÇ °ªÀ» °¡Áö¸ç Á¤¼öºÎ´Â <br />
Ç×»ó 1ÀÌ¹Ç·Î »ý·«ÇÏ°í ¼Ò¼öºÎ¸¸À» 2Áø¹ýÀ¸·Î Ç¥ÇöÇÑ´Ù.<br />
<br />
°¡·É 1.0f ¿¡ ´ëÇÑ single precision floatÇüÀÇ binary level Ç¥Çö ¹æ¹ýÀº<br />
1.0f = (+) 1.0 X (2ÀÇ 0½Â) ÀÌ¹Ç·Î <br />
sign bit´Â 0<br />
exponent´Â 127 (-127ÀÌ base)<br />
mantissa´Â 1.0(10Áø¹ý), 1.0(2Áø¹ý) (¼Ò¼öºÎ´Â 0 Á¤¼öºÎ´Â »ý·«ÇÔ) ÇØ¼­<br />
0_01111111_00000000000000000000000<br />
·Î Ç¥ÇöµÉ ¼ö ÀÖ´Ù.<br />
-3.0f µµ ¿¹¸¦ µé¸é<br />
-3.0f= (-) 1.5 X (2ÀÇ 1½Â) ÀÌ¹Ç·Î<br />
sign bit´Â 1<br />
exponent´Â 128 (-127ÀÌ base)<br />
mantissa´Â 1.5(10Áø¹ý) 1.1(2Áø¹ý) (¼Ò¼öºÎ 1)<br />
1_10000000_10000000000000000000000<br />
3.141592X(10ÀÇ 15)½ÂÀÇ ¿¹<br />
1.39515 X (2ÀÇ 51½Â) ÀÌ¹Ç·Î<br />
sign bit´Â 0<br />
exponent´Â 178 (-127ÀÌ base)<br />
matissa´Â 1.39515(10Áø¹ý) 1.0110010100101000010111(2Áø¹ý)<br />
0_10110010_01100101001010000101110<br />
======================================================<br />
½ÇÁ¦·Î ±×·±Áö È®ÀÎÇÒ ¼ö ÀÖ´Â example c++ÄÚµåÀÌ´Ù.<br />
=================================<br />
typedef unsigned long UINT32;<br />
typedef unsigned char UINT8;<br />
typedef struct tagFloat<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;UINT32 mantissa:23;<br />
&nbsp;&nbsp;&nbsp;&nbsp;UINT32 exponent:8;<br />
&nbsp;&nbsp;&nbsp;&nbsp;UINT32 sign:1;<br />
} * FLOATPTR;<br />
int example(float f)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;UINT8 * fp = (UINT8 *) &f;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout << "Floating Value : " << fixed << f << endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 3; i >=0 ; i--)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for (int j = 7; j >=0; j--)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (fp[i] & (1 << j))<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout << "1";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout << "0";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout << " ";<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout << endl;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;FLOATPTR fpinfo = (FLOATPTR) &f;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout << "Sign : " << fpinfo->sign << endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout << "Exponent : " << fpinfo->exponent - 127 << endl;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cout << "Mantissa : " << ((float)fpinfo->mantissa /(float)(1 << 23)) + 1 << endl;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
<br />
}]]></description>
<category>ÇÁ·Î±×·¡¹Ö ³ëÆ®</category>
<author>µÚµÚ</author>
<pubDate>Wed, 19 Apr 2006 14:43:52 +0900</pubDate>
</item>
<item>
<title>[API] NonBlocking Serial Communications</title>
<link>http://ddart.net/tt/index.php?pl=10</link>
<description><![CDATA[ À©µµ¿ì¿¡¼­ ¿ÜºÎÀåÄ¡³ª Àåºñ¸¦ ÄÁÆ®·Ñ ÇÏ´Â ³×Æ®¿öÅ© ¹æ¹ýÀ¸·Î<br />
RS-232 Serial Interface°¡ ³Î¸® »ç¿ëµÈ´Ù.<br />
COM1-COM4°¡ dos½ÃÀýºÎÅÍ traditionalÇÏ°Ô serial port·Î ÀâÇôÀÖ°í<br />
USBµî ÇÏµå¿þ¾î º¥´õ³ª µð¹ÙÀÌ½º µå¶óÀÌ¹ö °³¹ßÀÚ°¡  Serial Interface¸¦ Á¦°øÇÏ¸é ÀÓÀÇ´ë·Î Æ÷Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.<br />
<br />
À©µµ¿ì¿¡¼­ ½Ã¸®¾ó ÀÎÅÍÆäÀÌ½º¸¦ ÅëÇØ µ¥ÀÌÅÍ¸¦ ÁÖ°í ¹Þ±â À§ÇØ¼±<br />
File I/O °ü·Ã API°¡ °ø¿ëÀ¸·Î »ç¿ëµÈ´Ù.<br />
CreateFile()·Î COM Æ÷Æ®¸¦ ¿­¾î Ä¿³Ø¼ÇÇÚµéÀ» ¾ò°í<br />
CloseHandle()·Î ¿­¸° ÇÚµéÀ» ´Ý´Â µî file operation°ú µ¿ÀÏÇÏ´Ù<br />
Data I/O¸¦ À§ÇØ¼­µµ File operation°ú µ¿ÀÏÇÏ°Ô ReadFile(), WriteFile()À» »ç¿ë¸ç Synchronous mode°ú Asynchronous mode µÎ °¡Áö·Î IO ÇÚµé¸µÀÌ °¡´ÉÇÏ´Ù.<br />
AsyncÀü¿ëÀ¸·Î ReadFileEx()¿Í WriteFileEx() »ç¿ëµµ °¡´ÉÇÏ´Ù.<br />
<br />
Serial Communication¿¡¼­ Nonblocking ¸ðµå·Î IO¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀº 2°¡Áö°¡ ÀÖ´Ù.<br />
<br />
1. ÀÏ¹Ý synchronous IO mode·Î ÇÚµéÀ» »ý¼ºÇÏ°í, SetCommTimeout()À» nonblockÀ¸·Î ¼³Á¤ÇÏ¸é IO°¡ nonblockingµÈ´Ù. ÀÌ¶§ SetCommMask(), WaitCommEvent()¸¦ ÀÌ¿ëÇØ ÀÌº¥Æ® Ã³¸®ÇÑ´Ù.<br />
<br />
2. CreateFile()½Ã overlapped flag¸¦ »ç¿ëÇØ asynchronous IO mode·Î ÇÚµéÀ» »ý¼ºÇÏ°í ReadFile(), WriteFile()»ç¿ëÇÒ ¶§ overlapped structure¿¡ event object¸¦ create, setÇØ¼­ parameter·Î ³Ñ±â¸é nonblockµÈ´Ù. ±×·± ÈÄ overlapped structureÀÇ event object°¡ set µÇ´Â Å¸ÀÓÀ» waitÇØÁà Ã³¸®ÇÑ´Ù. ÀÌº¥Æ®°¡ ¹ß»ýÇÏ¸é GetOverlappedResult()¸¦ »ç¿ëÇØ ½ÇÁ¦ IOÃ³¸®µÈ µ¥ÀÌÅÍ±æÀÌ¸¦ °¡Á®¿Â´Ù. ReadFileEx(), WriteFileEx() ¿¡ overlapped completion routineÀ» »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ´Ù.]]></description>
<category>ÇÁ·Î±×·¡¹Ö ³ëÆ®</category>
<author>µÚµÚ</author>
<pubDate>Tue,  9 Aug 2005 20:43:53 +0900</pubDate>
</item>
<item>
<title>[API] À©µµ¿ì Å½»ö</title>
<link>http://ddart.net/tt/index.php?pl=9</link>
<description><![CDATA[ À©µµ¿ì ¿î¿µÃ¼Á¦´Â ¼ö¸¹Àº À©µµ¿ì·Î ±¸¼ºµÇ¾î ÀÖÀ¸¸ç<br />
µ¥½ºÆ®Å¾À©µµ¿ì¿¡¼­ Parent-Child, Z-orderÀÇ Æ®¸®±¸Á¶¸¦ °¡Áö°í ÀÖ´Ù.<br />
Æ¯Á¤ ºÎ·ùÀÇ ¾îÇÃ¸®ÄÉÀÌ¼ÇÀÌ³ª À©µµ¿ìµéÀ» ÄÁÆ®·Ñ ÇÏ±â À§ÇØ¼±<br />
ÀÌ º¹ÀâÇÑ Æ®¸®±¸Á¶¿¡¼­ ¾ó¸¶³ª È¿À²ÀûÀ¸·Î Á¤È®ÇÏ°Ô ³»°¡ ¿øÇÏ´Â À©µµ¿ì ÇÚµéÀ» Ã£´À³Ä°¡ Áß¿äÇÏ´Ù.<br />
<br />
1. Å¬·¡½º³×ÀÓÀÌ³ª À©µµ¿ì³×ÀÓ È¤Àº µÑ ¸ðµÎÀÇ Á¤º¸¸¦ ¾Ë°í ÀÖ´Ù¸é FindWindow() ¸¦ È°¿ëÇÑ´Ù.<br />
<br />
2. À©µµ¿ìÂ÷ÀÏµåÆ®¸®Å½»öÀº GetWindow()·Î °¡´ÉÇÏÁö¸¸EnumChildWindows()°¡ º¸´Ù ¾ÈÀüÇÏ´Ù.<br />
<br />
3. Top-level À©µµ¿ì Å½»öÀº EnumWindows() ·Î °¡´ÉÇÏ¸ç<br />
EnumWindowsProc³»¿¡¼­ °¢Á¾ Á¶°ÇÀ¸·Î ÇÊÅÍ¸µ°¡´ÉÇÏ´Ù<br />
<br />
ÇÊÅÍ¸µ ÇÒ¶§ ÁÖ·Î ¾²ÀÌ´Â ¹æ¹ýÀº<br />
GetWindowLong()À» ÀÌ¿ëÇÑ Æ¯Á¤ Style, ExStyleÀÇ AND °Ë»ç¿Í<br />
GetWindowText()·Î Title³×ÀÓÀÌ³ª À©µµ¿ì ÅØ½ºÆ® Á¶»ç,<br />
GetClassName() À¸·Î À©µµ¿ìÅ¬·¡½º¸¦ Á¶»çÇØº¸´Â ¹æ¹ýÀÌ ÀÖ´Ù.<br />
Spy++ ÅøÀÇ µµ¿òÀ» ¹Þ´Â °Íµµ À¯¿ëÇÏ´Ù.]]></description>
<category>ÇÁ·Î±×·¡¹Ö ³ëÆ®</category>
<author>µÚµÚ</author>
<pubDate>Tue,  2 Aug 2005 21:04:52 +0900</pubDate>
</item>
<item>
<title>[API] ´Ù¸¥ ¾îÇÃ¸®ÄÉÀÌ¼Ç¿¡ µ¥ÀÌÅÍ Àü´ÞÇÏ±â</title>
<link>http://ddart.net/tt/index.php?pl=8</link>
<description><![CDATA[ Interprocess communications¿¡´Â <br />
Clipboards, DDE, Mailslots,  Pipeline, File Mapping, Socketµîµî<br />
¿©·¯°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.<br />
<br />
ÇÑ¹æÇâÀ¸·Î ÀÌº¥Æ®ÇüÅÂÀÇ µ¥ÀÌÅÍ Àü´ÞÀÌ¶ó¸é WM_COPYDATA ¸Þ¼¼Áö¸¦ ÀÌ¿ëÇÑ °£´ÜÇÑ Data Copy¹æ¹ýÀ» »ç¿ëÇÏ¸é Æí¸®ÇÏ´Ù.<br />
<br />
WM_COPYDATA À©µµ¿ì ¸Þ¼¼Áö·Î COPYDATASTRUCTÆ÷¸ËÀÇ ¾î¶°ÇÑ µ¥ÀÌÅÍµç Àü´Þ °¡´ÉÇÏ´Ù. ´Ü µ¥ÀÌÅÍ´Â Æ÷ÀÎÅÍ¸¦ Æ÷ÇÔÇÏ°Å³ª <br />
ÇÁ·Î¼¼½º³» ´Ù¸¥ ¾²·¹µå¿¡ ÀÇÇØ °ªÀÌ º¯°æµÇ¸é ¾ÈµÈ´Ù.<br />
<br />
º¸³»´Â ÂÊ¿¡¼±<br />
SendMessage(,,,); ·Î Àü´ÞÇÏ´Â µ¥ <br />
º¸³¾ À©µµ¿ì´Â Æ¯Á¤ À©µµ¿ì ÇÚµéÀ» µé°í ÀÖÁö ¾Ê´Ù¸é <br />
FindWindow(lpClassName, lpWindowName) À¸·Î À©µµ¿ì Å¬·¡½º ³×ÀÓÀÌ³ª À©µµ¿ì Å¸ÀÌÆ² ³×ÀÓÀ¸·Î Ã£Àº ÈÄ º¸³¾ ¼öµµ ÀÖ°í<br />
¾Æ¿¹ HWND_BROADCASTÀÇ special window·Î º¸³»¸é ÀüÃ¼<br />
ºê·ÎµåÄ³½ºÆÃÀÌ °¡´ÉÇÏ´Ù<br />
<br />
¹Þ´Â ÂÊ¿¡¼± ¸Þ¼¼Áö ÇÁ·Î½ÃÁ®¿¡¼­ WM_COPYDATA ¸Þ¼¼Áö¸¦<br />
ÇÚµé¸µ ÇÏ¸é¼­ COPYDATASTRUCT(lParam)·Î Àü´ÞµÈ µ¥ÀÌÅÍ¸¦<br />
Å¸ÀÔÄ³½ºÆÃµîÀÇ Æ÷¸Ëº¯È¯ÇØ Ã³¸®ÇØÁØ´Ù.<br />
Ã³¸®½Ã ÁÖÀÇ»çÇ×Àº ÀÌº¥Æ® ÇÚµé¸µµ¿¾È¸¸ µ¥ÀÌÅÍ°¡ À¯È¿ÇÏ´Ù´Â Á¡°ú ¹Þ´Â ÂÊ¿¡¼­ COPYDATASTRUCT°¡ ÂüÁ¶ÇÏ´Â ¸Þ¸ð¸®¸¦  freeÇØ¼­´Â ¾ÈµÈ´Ù.]]></description>
<category>ÇÁ·Î±×·¡¹Ö ³ëÆ®</category>
<author>µÚµÚ</author>
<pubDate>Mon,  1 Aug 2005 20:06:53 +0900</pubDate>
</item>
<item>
<title>[LINK] K-1 ÇÑ±¹ °ø½ÄÈ¨</title>
<link>http://ddart.net/tt/index.php?pl=7</link>
<description><![CDATA[ <a href="http://www.k-1kr.com/" target=_blank>http://www.k-1kr.com/</a><br />
ÃÖÈ«¸¸ ¼±¼ö°¡ ¾ÆÄÉº¸³ë¼±¼ö¸¦ 1È¸ TKO ½ÃÄ×´Ù´Â ´º½º¿¡<br />
VOD º¸±äºÃ´Âµ¥ Æí´ç ¿ä±ÝÀÌ Á» ºñ½ÑÆíÀÌ´õ±º¿ä.<br />
¾ó·· espn ÄÉÀÌºí¹æ¼ÛÀ» ´Þ´øÁö ÇØ¾ßÁö.. Èæ<br />
ÃÖÈ«¸¸ÀÌ ¸ÚÁö°Ô Å¸ÀÌ½¼ÇÑµ¥ µµ¹ßÇÏ´øµ¥ ¤»¤».]]></description>
<category>»çÀÌÆ® ¸Þ¸ð</category>
<author>µÚµÚ</author>
<pubDate>Sun, 31 Jul 2005 15:37:57 +0900</pubDate>
</item>
</channel>
</rss>