C¾ð¾î´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ Á¶±Ý ´Ù¸¥ º¯¼ö³¢¸®¶óµµ ÀÚµ¿À¸·Î º¯È¯ÀÌ °¡´ÉÇÏ¸é ¿¬»êÀ» Çã¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.
|
¿¹ Á¦ : typeconvert |
#include <Turboc.h>
void main()
{
int i,j;
double d;
i=3;
d=2.17;
j=i+d;
printf("j=%d\n",j);
}
Á¤¼öÇüÀÇ º¯¼ö i¿Í ½Ç¼öÇüÀÇ º¯¼ö d¸¦ ´õÇØ Á¤¼öÇü º¯¼ö j¿¡ ´ëÀÔÇϰí ÀÖ´Ù. ÀÌ ¿¹Á¦¸¦ ÄÄÆÄÀÏÇÏ¸é °æ°í°¡ ¹ß»ýÇϱâ´Â ÇÏÁö¸¸ ¿¡·¯¾øÀÌ ÄÄÆÄÀÏµÇ¸ç ½ÇÇ൵ Àß µÈ´Ù. Á¤¼öÇü°ú ½Ç¼öÇüÀº Å©±âµµ ´Ù¸£°í ¸Þ¸ð¸®³»¿¡ °ªÀ» ±â¾ïÇÏ´Â ¹æ½Äµµ ´Ù¸£´Ù. µû¶ó¼ ¿øÄ¢À» µûÁöÀÚ¸é Á¤¼öÇü º¯¼ö¿Í ½Ç¼öÇü º¯¼öÀÇ µ¡¼ÀÀº Çã¿ëµÇÁö ¾ÊÀ¸¸ç ½ÇÁ¦·Î ÆÄ½ºÄ®°°Àº ¾ð¾î¿¡¼ ÀÌ·± ¿¬»ê¹®Àº ¿¡·¯·Î 󸮵ȴÙ.
±×·¯³ª C´Â ŸÀÔÀÌ ´Þ¶óµµ ÀÚµ¿À¸·Î µÎ ŸÀÔÀ» ¸ÂÃß¾î ÀÏÄ¡½ÃŲ ÈÄ ¿¬»êÇϴµ¥ CÀÇ ÀÌ·± Ư¼ºÀ» À¶Å뼺À̶ó´Â ÀåÁ¡À¸·Î Ç¥ÇöÇϱ⵵ ÇÏÁö¸¸ ¾ö°ÝÇÏÁö ¸øÇÑ Å¸ÀÔ Ã¼Å©¶ó´Â ´ÜÁ¡À¸·Î ÁöÀûµÇ±âµµ ÇÑ´Ù. ´çÀå ¾²±â¿¡´Â Æí¸®ÇÏÁö¸¸ ÀÌ·± ¼ºñ½º°¡ ÀáÀçÀûÀÎ ¿¡·¯ÀÇ ¿øÀÎÀÌ µÉ ¼öµµ ÀÖ´Ù. ´Ù¸¥ ŸÀÔÀÇ µ¥ÀÌÅͰ¡ ÇÑ ¼ö½Ä¿¡ µ¿½Ã¿¡ »ç¿ëµÉ ¶§ ¿¬»êÀ» À§ÇØ µ¥ÀÌÅÍÇüÀ» Àӽ÷Πº¯È¯ÇÏ´Â ÀÌ·± µ¿ÀÛÀ» »ê¼ú º¯È¯À̶ó°í ÇÑ´Ù. »ê¼ú º¯È¯¿¡´Â »ó½Â º¯È¯, Çϰ º¯È¯, ºÎÈ£ º¯È¯ ¼¼°¡Áö Á¾·ù°¡ ÀÖ´Ù. À§ ¿¹Á¦¸¦ ÅëÇØ ÀÌ·± º¯È¯¿¡ ´ëÇØ ¿¬±¸ÇØ º¸ÀÚ.
j=i+d; ¿¬»ê¹®¿¡¼ »ó½Â º¯È¯°ú Çϰ º¯È¯ÀÌ µ¿½Ã¿¡ ÀϾÙ. ¸ÕÀú Á¤¼öÇü º¯¼ö i¿Í ½Ç¼öÇü º¯¼ö d¸¦ ´õÇϱâ À§ÇØ i°¡ Àá½Ã ½Ç¼öÇüÀ¸·Î È®ÀåµÈ´Ù. ÇÇ¿¬»êÀÚ Áß Çϳª°¡ ½Ç¼öÇüÀ̹ǷΠ+ ¿¬»êÀº ½Ç¼ö ¿¬»êÀ» ÇØ¾ß ÇÏ¸ç ±×·¡¼ iÀ» d¿¡ ¸ÂÃß´Â °ÍÀÌ´Ù. ¿¬»êÁß¿¡ Á¤È®¼ºÀ» ÀÒÁö ¾Ê±â À§ÇØ °¡±ÞÀûÀ̸é Å« ŸÀÔÀ¸·Î º¯È¯µÇ´Âµ¥ 4¹ÙÀÌÆ®ÀÇ Á¤¼öÇüÀÌ 8¹ÙÀÌÆ®ÀÇ ½Ç¼öÇüÀ¸·Î ¹Ù²î¾úÀ¸¹Ç·Î À̸¦ »ó½Â º¯È¯À̶ó°í ÇÑ´Ù. ÀÌ °á°ú i+j´Â 5.17À̶ó´Â ½Ç¼ö°ªÀ¸·Î Æò°¡µÈ´Ù.
µ¡¼ÀÀ» ÇÑ °á°ú°¡ Á¤¼öÇü º¯¼ö j¿¡ ´ëÀ﵃ ¶§´Â ´ëÀÔ¹Þ´Â ÂÊÀÇ Å¸ÀÔ¿¡ ¸ÂÃß±â À§ÇØ Çϰ º¯È¯ÀÌ ¹ß»ýÇÑ´Ù. ½Ç¼öÇüÀÇ ¼öÄ¡ 5.17Àº Á¤¼öÇü º¯¼ö¿¡ ´ãÀ» ¼ö ¾øÀ¸¹Ç·Î ¼Ò¼öÁ¡ ÀÌÇϸ¦ ¹ö¸®°í Á¤¼öÇüÀ¸·Î ¹Ù²Û ÈÄ 5¸¸ ´ëÀԵǰí 0.17Àº ¹ö·ÁÁø´Ù. ½Ç¼öÇüÀÇ Å« ŸÀÔ¿¡¼ Á¤¼öÇüÀÇ ÀÛÀº ŸÀÔÀ¸·Î º¯È¯µÇ¾úÀ¸¹Ç·Î Çϰ º¯È¯À̶ó°í ÇÑ´Ù.

C´Â ÀÌ·± ½ÄÀ¸·Î µ¥ÀÌÅÍ Å¸ÀÔÀÌ ´Þ¶óµµ ÀûÀýÇÑ Çü º¯È¯¿¡ ÀÇÇØ ¿¬»êÀÌ ÀÌ·ç¾îÁöµµ·Ï ÇÑ´Ù. ±×·¯³ª Çü º¯È¯¿¡ ÀÇÇÑ °á°ú³ª ºÎÀÛ¿ë¿¡ ´ëÇØ¼´Â °æ°í¸¸ º¸¿©ÁÙ »Ó Ã¥ÀÓÁöÁö ¾Ê´Â´Ù. ¸¸¾à À§ ¿¹Á¦¿¡¼ 5.17À̶ó´Â °á°ú¸¦ ¹Ù·¨´Ù¸é ÀÌ´Â ¿¬»ê °á°ú¸¦ ÀúÀåÇÒ º¯¼ö j¸¦ Á¤¼öÇüÀ¸·Î ¼±¾ðÇÑ ÇÁ·Î±×·¡¸ÓÀÇ À߸øÀÌÁö ÄÄÆÄÀÏ·¯ÀÇ À߸øÀÌ ¾Æ´Ï´Ù. ÄÄÆÄÀÏ·¯´Â ¾îµð±îÁö³ª ¹Ì¸® Á¤ÇØÁø ±ÔÄ¢´ë·Î »ê¼ú º¯È¯À» ÇÏ¿© ¿¬»êÇÒ »ÓÀÌ´Ù. ´ÙÀ½Àº CÀÇ »ê¼ú º¯È¯ ±ÔÄ¢ÀÌ´Ù.
¨ç ÀÌÇ× ¿¬»ê½Ã ¾çº¯ÀÇ Å¸ÀÔÀÌ ´Ù¸£¸é Å« ÂÊÀ¸·Î »ó½Â º¯È¯µÈ´Ù. ±×·¡¾ß °¡±ÞÀûÀ̸é Á¤È®ÇÑ °è»êÀ» ÇÒ ¼ö ÀÖ´Ù.
¨è ´ëÀÔ ¿¬»ê½Ã Áº¯ÀÇ Å¸ÀÔÀ» µû¸¥´Ù. °ªÀ» ´ëÀÔ¹ÞÀ» º¯¼öÀÇ ´É·ÂÄ¡¸¦ ÃʰúÇÒ ¼ö´Â ¾ø±â ¶§¹®¿¡ ´ëÀԵǴ °ªÀÌ º¯¼öº¸´Ù ´õ Å©¸é Àß¶ó³½´Ù.
¨é ÇÔ¼ö È£Ãâ½Ã ½ÇÀμö¿Í Çü½ÄÀμöÀÇ Å¸ÀÔÀÌ ´Ù¸£¸é Çü½ÄÀμöÀÇ Å¸ÀÔÀ» µû¶ó°£´Ù. ÇÔ¼ö È£Ãâ °úÁ¤¿¡¼ÀÇ Àμö Àü´ÞÀº °á±¹ ´ëÀÔ µ¿ÀÛÀ̱⠶§¹®¿¡ 2¹ø ±ÔÄ¢°ú °°Àº ±ÔÄ¢ÀÌ´Ù.
¨ê ij½ºÆ® ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é °Á¦·Î ŸÀÔÀ» º¯È¯ÇÒ ¼ö ÀÖ´Ù. ÀÌ º¯È¯Àº ¾Ï½ÃÀûÀÎ »ê¼ú º¯È¯ ±ÔÄ¢ÀÌ ¾Æ´Ï¶ó »ç¿ëÀÚ°¡ Á÷Á¢ ÁöÁ¤ÇÑ ¸í½ÃÀû º¯È¯ÀÌ´Ù.
¨ë ¼ö½Ä³»¿¡¼ »ç¿ëµÉ °æ¿ì char, unsigned char, enumÇüÀº intÇüÀ¸·Î ÀÚµ¿ È®ÀåµÇ¸ç floatÇüÀº doubleÇüÀ¸·Î È®ÀåµÈ´Ù.
¸¸¾à ¨ë¹ø ±ÔÄ¢ÀÌ ¾ø´Ù¸é short a=20000, b=30000ÀÏ ¶§ int c=a+bÀÇ °á°ú°¡ 50000ÀÌ µÇÁö ¾ÊÀ» °ÍÀÌ´Ù. short³¢¸® ´õÇÑ °á°ú°¡ short°¡ µÇ¾î ¹ö¸®¸é ¿¬»êÁß¿¡ ¿À¹ö Ç÷ο찡 ¹ß»ýÇÏ¿© c°¡ ¾Æ¹«¸® int ŸÀÔÀÌ´õ¶óµµ 50000À̶ó´Â °á°ú¸¦ ´ëÀÔ¹ÞÀ» ¼ö ¾ø´Ù. ÀÌ·± Çö»óÀ» ¹æÁöÇϱâ À§ÇØ ¼ö½Ä³»¿¡¼´Â ŸÀÔ È®ÀåÀ» ¸ÕÀú ÇÑ ÈÄ ¿¬»êÇϵµ·Ï µÇ¾î ÀÖ´Ù.
ºÎÈ£ È®ÀåÀ̶õ ºÎÈ£ ÀÖ´Â ÀÛÀº ŸÀÔÀÌ Å« ŸÀÔÀ¸·Î È®ÀåµÉ ¶§ ¹ß»ýÇÑ´Ù. 1¹ÙÀÌÆ®ÀÇ charÇüÀ» 2¹ÙÀÌÆ®ÀÇ shortÇüÀ¸·Î º¯È¯Çϰųª short¸¦ int·Î º¯È¯ÇÒ ¶§ ºÎÈ£ È®ÀåÀÌ ¹ß»ýÇϴµ¥ ¿ø¸®´Â ¾ÆÁÖ °£´ÜÇÑ´Ù. È®ÀåÇÒ ¼ö°¡ 1¹ÙÀÌÆ®ÀÇ 0x01À̶ó°í ÇßÀ» ¶§ 2¹ÙÀÌÆ®·Î È®ÀåÇÏ¸é ¾ÕÂÊ ¹ÙÀÌÆ®¿¡ 0ÀÌ Ãß°¡µÇ¾î 0x0001ÀÌ µÈ´Ù. È®Àå¿¡ ÀÇÇØ Ãß°¡µÈ ¹ÙÀÌÆ®¿¡ ¼±Çà Á¦·Î¸¸ ºÙÀÌ¸é µÈ´Ù.
À½¼öÀÎ °æ¿ì´Â Á¶±Ý ´Ù¸£´Ù. 0xff(-1)¸¦ 2¹ÙÀÌÆ®·Î È®ÀåÇϸé 0x00ff°¡ µÇ´Â °ÍÀÌ ¾Æ´Ï¶ó 0xffff°¡ µÈ´Ù. ÀÌ·¸°Ô ÇØ¾ß ºÎÈ£¿Í °ªÀÌ ±×´ë·Î À¯ÁöµÈ´Ù. 0xff³ª 0xffff³ª µÑ ´Ù ¿Ö -1ÀÌ µÇ´ÂÁö´Â 2ÀÇ º¸¼ö¹ýÀ» ¿¬±¸ÇØ º¸¸é ¾Ë ¼ö ÀÖ´Ù. °£´ÜÈ÷ ¼³¸íÇÏÀÚ¸é 0xff+1=0x00À̰í 0xffff+1=0x0000ÀÌ´Ù. ±×·¯´Ï±î µÑ ´Ù -1ÀÌ ¾Æ´Ñ°¡.