ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº Å©°Ô hardware ¿Í software µÎ ºÎºÐÀ¸·Î ±¸¼ºµÈ´Ù.
ÄÄÇ»ÅÍ°¡ ´Ù·ç´Â ¸ðµç Á¤º¸´Â ÄÄÇ»ÅÍ Çϵå¿þ¾îÀÇ ¸Þ¸ð¸®¿¡ ÀÌÁø¼ö(binary digit; BIT) ÇüÅ·ΠÀúÀåµÈ´Ù. ÇϳªÀÇ bit´Â ON/OFF, TRUE/FALSE ¶Ç´Â 1/0°ú °°Àº 2°¡Áö »óŸ¸ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. Bit 8°³¸¦ ÇÑ ¹À½À¸·Î ó¸®Çϸé 2ÀÇ 8½Â, ÃÑ 256°¡ÁöÀÇ »óŸ¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ bit 8°³ÀÇ ¹À½À» BYTE¶ó ÇÑ´Ù. Byte°¡ ´Ù½Ã ¹¿©¼ word, double word¿Í °°Àº º¸´Ù Å« Á¤º¸ ÀúÀå ü°è¸¦ ±¸¼ºÇÑ´Ù.
1/0°ú °°Àº µÎ°¡Áö »óÅ¿¡ °üÇÑ ¿¬»ê ó¸®(AND, OR, XOR, NOT)¸¦ ºÎ¿ï´ë¼ö(Boolean algebra)¶ó ÇÑ´Ù.
ÄÄÇ»ÅÍ ³»ºÎ¿¡¼ ¼ýÀÚ È¤Àº ¹®ÀÚ ÀÚ·á°¡ ¾î¶»°Ô Ç¥ÇöµÇ°í 󸮵Ǵ°¡´Â C ÇÁ·Î±×·¡¹ÖÀÇ Çʼö »çÀü Áö½ÄÀº ¾Æ´ÏÁö¸¸ À̸¦ ÀÌÇØÇÔÀ¸·Î½á ÇÁ·Î±×·¥¿¡ ´ëÇÑ ÀÌÇظ¦ ±íÀÌ ÇÒ ¼ö ÀÖ´Ù.
¾Õ¿¡¼ ¾ð±ÞÇÏ¿´µíÀÌ ÇÁ·Î±×·¥ ÀÚü¸¦ Æ÷ÇÔÇÑ ¸ðµç ÀÚ·á ¶Ç´Â Á¤º¸´Â ÄÄÇ»ÅÍ ³»ºÎ¿¡¼ BITÀÇ ¹À½À¸·Î Ç¥ÇöµÈ´Ù. ÇϳªÀÇ BIT·Î´Â 1 ¶Ç´Â 0 µÎ°¡Áö °ªÀ» Ç¥ÇöÇÒ ¼ö ÀÖ°í µÎ °³ÀÇ BITµé·Î´Â ³×°¡Áö °ªÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
00 - 0 01 - 1 10 - 2 11 - 3¸¸ÀÏ ¿ì¸®°¡ 4°¡Áö ±âÈ£(symbol)¸¸ Ç¥ÇöÇÏ·Á ÇÏ¸é µÎ ºñÆ®¸¸ °¡Áö°í 1´ë1 ´ëÀÀµÇ´Â ±âÈ£¿Í ºñÆ® ÆÐÅÏÀ» Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¸é, ¼ýÀÚ 0, 1, 2, 3Àº À§ ºñÆ® ÆÐÅÏÀ» »ç¿ëÇÏ¿© Á¤ÀÇÇÒ ¼ö ÀÖ´Ù.
À§¿Í°°Àº ƯÁ¤ ±âÈ£¿¡ ´ëÇÑ Æ¯Á¤ ºñÆ® ÆÐÅÏÀ» ÄÚµå(code)¶ó ÇÏ°í ƯÁ¤ ±âÈ£¿¡ ´ëÇÑ ÄÚµå ºÎ¿© ÀÛ¾÷À» ÄÚµù(coding) ¶Ç´Â ÀÎÄÚµù(encoding)À̶ó ÇÑ´Ù.
¼¼ bit·Î´Â 8°³ÀÇ ¼·Î ´Ù¸¥ °ªÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù.
000 100 001 101 010 110 011 111n°³ÀÇ bits·Î´Â 2n°³ÀÇ ±âÈ£¸¦ Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î, 8 bit·Î´Â 28 = 256, 10 bit·Î´Â 210 = 1024 °¡ÁöÀÇ °ªµéÀ» Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. (ÄÄÇ»ÅÍ¿¡¼´Â ¸ðµç Á¤º¸°¡ 2ÁøÀ¸·Î 󸮵ǹǷΠ2ÀÇ ¸è¼ö°¡ ÀÚÁÖ »ç¿ëµÈ´Ù. Àü»ê¿¡¼ 1K´Â 2ÀÇ 10½Â, Áï 1024ÀÌ´Ù.)
ÀÚ¿¬¼ö 0, 1, 2, 3, 4, ... ¸¦ ºñÆ® ¹À½À¸·Î Ç¥ÇöÇÏ´Â ¹æ¹ýÀº ¿©·¯°¡Áö°¡ ÀÖÀ»¼ö ÀÖÀ¸³ª °¡Àå ÀÚ¿¬½º·¯¿î ¹æ¹ýÀº ¿ì¸®°¡ »ç¿ëÇÏ´Â 10Áø¼ö ó·³ 2Áø¼ö ü°è¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
10Áø¼ö
2Áø¼ö
=
=
2Áø¼ö°¡ ÄÄÇ»ÅÍ¿¡ Á¤ÇØÁø bitµéÀ» »ç¿ëÇÏ¿© ÀúÀåµÉ °æ¿ì ¿ÞÂÊÀÇ »ç¿ëµÇÁö ¾ÊÀº bitµéÀº 0À¸·Î ä¿öÁø´Ù. ¿¹¸¦µé¸é, 16 bit (word)·Î 10Áø¼ö 168À» ÀúÀåÇϸé 0000000010101000¿Í °°ÀÌ µÈ´Ù.
À§¿¡¼ ¼³¸íÇÑ 2Áø ü°è´Â ÀÚ¿¬¼ö 󸮿¡´Â ÀûÇÕÇϳª À½¼ö¿¡ ´ëÇÑ °í·Á°¡ ¾ø´Ù. °¡Àå ¼Õ½¬¿î À½¼ö ó¸® ¹æ¹ýÀº ºÎÈ£ ºñÆ®¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. Á¦ÀÏ »óÀ§ (¿ÞÂÊ, MSB-Most Significant Bit) ºñÆ®¸¦ ºÎÈ£ (sign) 󸮿ëÀ¸·Î ÇÒ´çÇÏ¿© ÀÌ ºñÆ®°¡ 0ÀÌ¸é ¾ç¼ö, 1À̸é À½¼ö·Î ó¸®ÇÏ´Â ¹æ¹ýÀÌ´Ù.
¿¹¸¦µé¸é, 16 ºñÆ®·Î +100, -100À» Ç¥ÇöÇÏ¸é ´ÙÀ½°ú °°´Ù.
+100: 0000 0000 0110 0100
-100: 1000 0000 0110 0100
±×·¯³ª À§ ¹æ¹ýÀº µÎ ¼öÀÇ »çÀÌÀÇ ¿¬»êÀÌ ½±Áö ¾Ê¾Æ º¸Åë 2ÀÇ º¸¼ö (two's complement)¶ó ºÒ¸®´Â ¹æ¹ýÀ» ÁÖ·Î »ç¿ëÇÑ´Ù. 2ÀÇ º¸¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ¾ç¼öÀÇ °æ¿ì ÀÚ¿¬¼ö¿Í µ¿ÀÏÇϳª À½¼öÀÇ °æ¿ì ¾ç¼öÀÇ ¸ðµç ºñÆ®¸¦ ¹ÝÀü (0Àº 1·Î 1Àº 0À¸·Î) ½ÃŲ ÈÄ ±× °á°ú¿¡ 1À» ´õÇÑ´Ù.
2ÀÇ º¸¼ö¸¦ »ç¿ëÇÑ +100, -100ÀÇ Ç¥ÇöÀº ´ÙÀ½°ú °°´Ù.
+100: 0000 0000 0110 0100
-100: 1111 1111 1001 1100
À§¿¡¼ -100ÀÇ 2ÀÇ º¸¼ö¸¦ ÃëÇϸé +100ÀÌ µÊÀ» ¾Ë ¼ö ÀÖ´Ù.
2ÀÇ º¸¼ö¸¦ »ç¿ëÇÏ¿© Á¤¼ö¸¦ Ç¥ÇöÇÏ´Â °æ¿ì¿¡µµ À½¼ö´Â MSB°¡ 1ÀÌ µÊÀ» ¾Ë ¼ö ÀÖ´Ù.
Two's complement number 1111 1111 1101 0110ÀÇ 10Áø¼ö Ç¥ÇöÀº ¿ì¼± MSB°¡ 1À̹ǷΠÀ½¼ö·Î ó¸®ÇÏ¿© one's complement 0000 0000 0010 1001¸¦ ±¸ÇÏ°í ¿©±â¿¡ 1À» ´õÇÏ¿© 0000 0000 0010 1010ÀÇ 10Áø¼ö Ç¥Çö 42ÀÇ À½¼ö -42¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù.
À§ÀÇ ¼ö ü°è¿¡¼ ¾Ë ¼ö ÀÖµå½Ã ÇÑÁ¤µÈ °¹¼öÀÇ ºñÆ®µé·Î Ç¥ÇöÇÒ ¼ö ÀÖ´Â ÃÖ¼Ò, ÃÖ´ë ¼öÀÇ ¹üÀ§´Â Á¦ÇѵǾî ÀÖ´Ù. n ºñÆ®¸¦ »ç¿ëÇÏ¿© Ç¥Çö°¡´ÉÇÑ ¼öÀÇ ¹üÀ§´Â ÀÚ¿¬¼ö´Â 0¿¡¼ 2n-1, Á¤¼ö´Â -2(n-1)¿¡¼ 2n-1ÀÌ µÈ´Ù. ¿¹¸¦µé¸é, 8 ºñÆ®·Î Ç¥Çö°¡´ÉÇÑ ÀÚ¿¬¼ö ¹üÀ§´Â 0¿¡¼ 255, Á¤¼ö´Â -128¿¡¼ +127ÀÌ´Ù.
Áö±Ý±îÁö ¼ö¿¡ °üÇÑ ´Ù¸¥ Ç¥Çö ¹æ¹ýµéÀ» »ìÆ캸¾Ò´Ù. ¿©±â¼ Áß¿äÇÑ Á¡Àº 2Áø¼ö·Î 010011·Î Ç¥ÇöµÇ¾ú°Å³ª 10Áø¼ö·Î 19·Î Ç¥ÇöµÇ¾ú°Å³ª Ç¥Çö¿¡ »ó°ü¾øÀÌ ¶È°°Àº ¼ö¸¦ Ç¥ÇöÇÏ°í ÀÖ´Ù´Â Á¡ÀÌ´Ù. »ç¶÷¿¡°Ô´Â 10Áø¼ö Ç¥Çö ¹æ¹ýÀÌ Æí¸®ÇÏ°í ÄÄÇ»ÅÍ´Â 2Áø¼ö 󸮿¡ ÀûÇÕÇÏ´Ù.
ÄÄÇ»ÅÍ°¡ ó¸®ÇÏ´Â 2Áø¼ö¸¦ 10Áø¼ö·Î º¯È¯Çϰųª 2Áø¼ö ü°è¸¦ Á÷Á¢ »ç¿ëÇÏ´Â °ÍÀº ¸Å¿ì ºÒÆíÇÏ´Ù. 2Áø¼ö´Â 8Áø¼ö(octal ) ¶Ç´Â 16Áø¼ö(hexadecimal, hex)¸¦ »ç¿ëÇÏ¿© º¸´Ù °£´ÜÈ÷ Ç¥ÇöµÉ ¼ö ÀÖ´Ù.
2Áø¼ö°¡ [0,1], 10Áø¼ö°¡ [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]µéÀÇ ¼ýÀڷΠǥÇöµÇ´Â °Íó·³ 8Áø¼ö´Â [0, 1, 2, 3, 4, 5, 6, 7], 16Áø¼ö´Â [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f]¸¦ »ç¿ëÇÏ¿© Ç¥ÇöµÈ´Ù. ±âÈ£ [a, b, c, d, e, f] (¶Ç´Â [A, B, C, D, E, F])´Â 10Áø¼öÀÇ [10, 11, 12, 13, 14, 15]¿¡ ÇØ´çÇÑ´Ù.
C ÇÁ·Î±×·¥¿¡¼ 10Áø¼ö´Â 0ÀÌ ¾Æ´Ñ ¼ýÀÚ·Î ½ÃÀÛÇÑ´Ù. 8Áø¼ö´Â 0À¸·Î ½ÃÀÛÇÏ°í 16Áø¼ö´Â 0x ¶Ç´Â 0X·Î ½ÃÀÛÇÑ´Ù. ±×·¯¹Ç·Î 0250Àº 8Áø¼ö 250, 0xA8Àº 16Áø¼ö A8À» ÀǹÌÇÑ´Ù. (C ÇÁ·Î±×·¥¿¡¼ 2Áø¼ö´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù.)
10Áø¼ö : 122 199 21 63 2Áø¼ö : 01111010 11000111 010101 1111111 16Áø¼ö : 0111 1010 1100 0111 0001 0101 0011 1111 0x7A 0xC7 0x15 0x3F 8Áø¼ö : 01 111 010 11 000 111 00 010 101 00 111 111 0172 0307 025 077
½Ç¼ö´Â floating point¶ó ºÒ¸®´Â Ç¥Çö ü°è¸¦ »ç¿ëÇÑ´Ù. ÀÌ Ã¼°è´Â ¼Ò¼ö ºÎºÐÀ» °®´Â ¼ö³ª ¸Å¿ì À۰ųª Å« ¼ö¸¦ Ç¥ÇöÇϴµ¥ »ç¿ëµÈ´Ù.
Floating point numbers ¸¦ »ç¿ëÇÑ ¼ö Ç¥ÇöÀº scientific notation°ú Èí»çÇÏ´Ù.
3.141592 * 10 + 2.7 * 103
¼Ò¼ýÁ¡À» ÀûÀýÈ÷ ¿òÁ÷ÀÓÀ¸·Î½á ´ëºÎºÐÀÇ ½Ç¼ö´Â ´ÙÀ½°ú °°Àº ÇüÀ¸·Î Ç¥·ÃÇÒ ¼ö ÀÖ´Ù.
-0.XXXXXX * 10n
À§ °æ¿ìó·³ ½Ç¼ö´Â ¼Ò¼ýÁ¡ ÀÌÇÏÀÇ ¼öÄ¡(XXXXXX) ¼Ò¼öºÎ(mantissa), Áö¼ö(exponent) n, ±×¸®°í ºÎÈ£(sign) ºÎºÐµé·Î ±¸¼ºµÈ´Ù. ÀÌ·¯ÇÑ ½Ç¼ö Ç¥Çö¿¡ °üÇÑ ±ÔÁ¤À¸·Î´Â IEEE (Institute for Electrical and Electronics Engineers)¿¡¼ Á¦Á¤ÇÑ Ç¥ÁØ (IEEE Standard 754)ÀÌ ÁÖ·Î »ç¿ëµÈ´Ù.
C ÇÁ·Î±×·¥¿¡¼ ½Ç¼ö 31.41592´Â 314.1592E-1 ¶Ç´Â 0.3141592e2 ·Î Ç¥ÇöÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª Á¤¼öÀÇ °æ¿ì¿Í ¸¶Âù°¡Áö·Î ½Ç¼ö Ç¥Çö¿¡ »ç¿ëµÇ´Â ºñÆ®¼öÀÇ Á¦ÇÑÀ¸·Î Ç¥Çö °¡´ÉÇÑ ¼öÄ¡ÀÇ ¹üÀ§°¡ ÇÑÁ¤µÇ¾î ÀÖ´Ù.