ÄÄÇ»ÅÍÀÇ ¸Þ¸ð¸®´Â 0°ú 1¸¸À» ±â¾ïÇÒ ¼ö ÀÖ´Â ºñÆ®·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ÀÌ Àý¿¡¼´Â ÀÌ ´Ü¼øÇÑ ºñÆ®ÀÇ ÁýÇÕÀ¸·Î Å« ¼ö¿Í º¹ÀâÇÑ ½Ç¼ö µîÀÌ ¾î¶»°Ô ±â¾ïµÇ°í °ü¸®µÇ´ÂÁö¿¡ ´ëÇØ ¿¬±¸ÇØ º»´Ù. ÀÌ ³»¿ëÀº ´çÀå ½Ç¹«¿¡ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Â ½Ç¿ëÀûÀÎ ÀÌ·ÐÀº ¾Æ´Ï¹Ç·Î ²À ¸ô¶óµµ »ó°üÀº ¾ø´Ù. ÇÏÁö¸¸ ŸÀÔÀÇ ³»ºÎ ±¸Á¶¸¦ ÀÌÇØÇÔÀ¸·Î½á ÄÄÆÄÀÏ·¯ÀÇ µ¿ÀÛÀ» Á» ´õ ±íÀÌÀÖ°Ô ÀÌÇØÇÏ°í ¸Þ¸ð¸®¿¡ ÀúÀåµÈ °ªÀ» Á÷Á¢ Æò°¡ÇÏ°í ´Ù·ê ¼ö ÀÖ´Â Á÷°ü·ÂÀ» Ű¿ï ¼ö ÀÖ´Ù.
ÄÄÇ»ÅͰ¡ Á¤¼ö¸¦ ´Ù·ç´Â ¹æ¹ýÀº ºñ±³Àû °£´ÜÇÏ´Ù. 1°ú 0À» ±â¾ïÇÒ ¼ö ÀÖ´Â ÇϳªÀÇ ºñÆ®·Î µÎ °¡Áö »óŸ¦ Ç¥ÇöÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ·± ºñÆ®¸¦ ¿©·¯ °³ ¸ðÀ¸¸é 1°ú 0ÀÇ Á¶ÇÕÀ¸·Î ´õ Å« ÀÌÁø¼ö¸¦ ³ªÅ¸³¾ ¼ö ÀÖ´Ù. ¸ÕÀú ºÎÈ£°¡ ¾ø´Â °æ¿ìÀÇ Á¤¼ö ±¸Á¶¸¦ ¿¬±¸ÇØ º¸ÀÚ. ÀϹÝÀûÀ¸·Î ºñÆ® n°³°¡ ¸ðÀÏ ¶§ 2n°¡ÁöÀÇ ¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖÀ¸¸ç ½ÃÀÛ ¼ö°¡ 0À̹ǷΠÃÖ´ë Ç¥Çö °¡´ÉÇÑ ¼ö´Â 2n-1ÀÌ µÈ´Ù. ºÎÈ£°¡ ÀÖÀ¸¸é ÃÖ´ë Ç¥Çö¼ö´Â Àý¹ÝÀÌ µÇÁö¸¸ À½¼ö¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
2Áø¼öÀÇ °¢ ÀÚ¸®¼ö´Â 2ÀÇ °Åµì½Â¿¡ ÇØ´çÇÏ´Â °¡ÁßÄ¡¸¦ °¡Áø´Ù. 10Áø¼öÀÇ °¢ ÀÚ¸®¼ö°¡ ÀÏÀÚ¸®, ½ÊÀÚ¸®, ¹éÀÚ¸® µî 10ÀÇ °Åµì½Â¿¡ ÇØ´çÇÏ´Â °¡ÁßÄ¡¸¦ °¡Áö´Â °Í°ú ¸¶Âù°¡ÁöÀÌ´Ù. ÀÌÁø¼ö 101Àº °¢ ÀÚ¸®¼öÀÇ °¡ÁßÄ¡¸¦ °öÇØ ´õÇÏ¸é ½ÊÁø¼ö 5°¡ µÈ´Ù.
101 = 1*22+0*21+1*20 = 4+0+1 = 5
16ºñÆ® ±æÀÌÀÇ unsigned shortÇüÀº 216-1(65535)±îÁö Ç¥Çö °¡´ÉÇϰí 32ºñÆ® ±æÀÌÀÎ unsigned intÇüÀº 232-1(4294967295)ÀÇ ºñ±³Àû Å« °ªÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. º¯¼ö°¡ ±â¾ïÇÒ ¼ö ÀÖ´Â ÃÖ´ë Ç¥Çö ¹üÀ§¸¦ ³Ñ¾î¼³ °æ¿ì¸¦ ¿À¹öÇ÷οì(Overflow)¶ó°í Çϴµ¥ ¿À¹öÇ÷ο찡 ¹ß»ýÇÏ¸é º¯¼ö´Â ÃʰúµÈ °ªÀ» ±â¾ïÇÏÁö ¸øÇÏ°í ¾û¶×ÇÑ °ªÀ» °¡Áö°Ô µÈ´Ù. ´ÙÀ½ ¿¹Á¦¸¦ º¸ÀÚ.
|
¿¹ Á¦ : IncOverflow |
#include <Turboc.h>
void main()
{
unsigned short us;
us=65535;
printf("us=%d\n",us);
us++;
printf("us=%d\n",us);
}
16ºñÆ® Å©±âÀÇ usº¯¼ö¿¡ ÀÌ º¯¼ö°¡ ±â¾ïÇÒ ¼ö ÀÖ´Â ÃÖ´ë°ª 65535¸¦ ´ëÀÔÇØ ³õ°í ÀÌ °ªÀ» 1Áõ°¡½ÃÄÑ º¸¾Ò´Ù. ½ÇÇà °á°ú´Â ´ÙÀ½°ú °°´Ù.
us=65535
us=0
65535¸¦ 1Áõ°¡½Ã۸é 65536ÀÌ µÇ´Âµ¥ ÀÌ °ªÀº 16ºñÆ®ÀÇ ÃÖ´ë Ç¥Çö ¹üÀ§¸¦ ³Ñ¾î ¼¹Ç·Î ¿À¹öÇ÷ο찡 µÈ´Ù. us º¯¼ö´Â 65536À̶ó´Â °ªÀ» Á¦´ë·Î ±â¾ïÇÏÁö ¸øÇϰí 0ÀÌ µÇ¾î ¹ö¸®´Âµ¥ ºñÆ®ÀÇ ¼¼°è¿¡¼ ÀÌ Çö»óÀ» Á» ´õ »ó¼¼ÇÏ°Ô »ìÆìº¸µµ·Ï ÇÏÀÚ.

65535´Â ÀÌÁø¼ö·Î 1ÀÌ 16°³ÀÎ ¼öÀε¥ ¿©±â¿¡ 1À» ´õÇϸé 1 ´ÙÀ½¿¡ 0ÀÌ 16°³ÀÎ ÀÌÁø¼ö(ÃÑ 17ÀÚ¸®)°¡ ¸¸µé¾îÁø´Ù. À̶§ ÃÖ»óÀ§ ºñÆ® 1Àº 16ºñÆ® ¹üÀ§ ¹Ù±ù¿¡ Á¸ÀçÇϹǷΠÀß·Á ³ª°¡°í ¸ðµç ºñÆ®´Â 0ÀÌ µÇ¹Ç·Î °á±¹ 16ºñÆ® ¹üÀ§¿¡¼ 65536Àº ¿À¹öÇ÷ο쿡 ÀÇÇØ 0°ú °°Àº ¼ö°¡ µÇ´Â °ÍÀÌ´Ù. 8ºñÆ® ¹üÀ§¿¡¼ 256(28)Àº 0°ú °°À¸¸ç 32ºñÆ® ¹üÀ§¿¡¼ 4294967296(232)µµ °á±¹ 0ÀÌ´Ù. ¹Ý´ë·Î º¯¼ö°¡ ÃÖ¼Ò°ªº¸´Ù ´õ ÀÛÀº °ªÀ» °¡Áú °æ¿ì ÃÖ´ë°ªÀÌ µÇ¾î ¹ö¸®´Âµ¥ 16ºñÆ® Á¤¼ö 0À» 1°¨¼Ò½Ã۸é 65535°¡ µÈ´Ù.
ÀÌ·± Àǹ̿¡¼ º¼ ¶§ ÄÄÇ»ÅÍÀÇ Á¤¼ö´Â ¼öÇÐÀÇ Á¤¼ö¿Í Á¤Àǰ¡ ¾à°£ ´Ù¸£´Ù°í ÇÒ ¼ö ÀÖ´Ù. ¼öÇÐÀÇ Á¤¼ö´Â ¿øÄ¢ÀûÀ¸·Î À½¾çÀ¸·Î ¹«ÇÑ´ë±îÁö Ç¥ÇöÇÒ ¼ö ÀÖÁö¸¸ ºñÆ® ¼¼°èÀÇ º¯¼ö´Â ±æÀÌ¿¡ µû¶ó Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò, ÃÖ´ë°ª¿¡ Á¦ÇÑÀÌ ÀÖ´Ù. µû¶ó¼ Á¤¼öÇü ŸÀÔÀ» ¼±ÅÃÇÒ ¶§ Ç¥ÇöÇϰíÀÚ ÇÏ´Â °ªÀÇ ÃÖ´ë°ªÀ» Àß °í·ÁÇÏ¿© Àû´çÇÑ ±æÀÌÀÇ Å¸ÀÔÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ½Ç»ýȰ¿¡¼ ¼ö½Ê¾ïÀÌ ³Ñ´Â ¼ö°¡ ÇÊ¿äÇÑ °æ¿ì´Â ¹«Ã´ µå¹°±â ¶§¹®¿¡ intÇüÀÌ¸é ¹«³ÇÏ´Ù.