ºñÆ® ¿¬»êÀÚ´Â ¾çº¯ÀÇ ´ëÀÀµÇ´Â ºñÆ®³¢¸® ³í¸®ÀûÀÎ ¿¬»êÀ» ¼öÇàÇÏ¿© »õ·Î¿î °ªÀ» ¸¸µç´Ù. ºñÆ®¸¦ Á¶ÀÛÇÑ´Ù´Â ¸é¿¡¼ ±²ÀåÈ÷ ¼¶¼¼ÇÏ°í ¿¬»ê ¼Óµµ°¡ ºü¸£´Ù. ±×·¯³ª
ÀÌÁø¼ö ´ÜÀ§ÀÇ ±â°èÀûÀÎ ¿¬»êÀ̶ó Ãʺ¸ÀÚ°¡ ÀÌÇØÇϱ⠾î·Æ°í °í±Þ ¾ð¾îÀÎ ÀÚ¹Ù¿Í ¾î¿ï¸®Áö ¾Ê¾Æ »ç¿ëºóµµ´Â ³·´Ù. ºñÆ®
¿¬»ê ¹æ½ÄÀº ´ÙÀ½ 4°¡Áö°¡ ÀÖ´Ù.
¿¬»êÀÚ |
¼³¸í |
& |
´ëÀÀµÇ´Â ºñÆ®°¡ ¸ðµÎ 1ÀÏ ¶§¸¸ °á°ú°ªÀÌ 1ÀÌ´Ù. |
| |
´ëÀÀµÇ´Â ºñÆ®Áß Çϳª¶óµµ 1ÀÌ¸é °á°ú°ªÀÌ 1ÀÌ´Ù. |
^ |
´ëÀÀµÇ´Â ºñÆ®°¡ ´Þ¶ó¾ß
°á°ú°ªÀÌ 1ÀÌ´Ù. |
~ |
¸ðµç ºñÆ®¸¦ ¹ÝÀü½ÃŲ´Ù. |
ºñÆ®(bit)´Â ±â¾ïÀÇ ÃÖ¼Ò ´ÜÀ§·Î¼ 1 ¶Ç´Â 0 ÇϳªÀÇ °ªÀ» ÀúÀåÇϸç ÀÌ·± ºñÆ® ¿©·¯ °³°¡ ¸ð¿© ÇϳªÀÇ
¼öÄ¡°ªÀ» Ç¥ÇöÇÑ´Ù. ÀÏ»ó »ýÈ°¿¡¼ »ç¿ëÇØ º» ÀûÀÌ ¾ø´Â ¿¬»êÀ̶ó »ý¼ÒÇÏÁö¸¸ ¾Ë°í º¸¸é ÀÌÁø¼ö¸¸ÅÀ̳ª
°£´ÜÇÏ´Ù. ºñÆ® ¿¬»êÀ» ÀÌÇØÇÏ·Á¸é ºñÆ® ´ÜÀ§·Î °ª º¯È¸¦ Àд 2Áø¼ö
¾Ï»êÀÌ °¡´ÉÇØ¾ß ÇÑ´Ù.
ºñÆ® ¿¬»êÀÚÀÇ ÇÇ¿¬»êÀÚ´Â Á¤¼ö¸¸ °¡´ÉÇÏ¸ç ½Ç¼ö´Â ¾µ ¼ö ¾ø´Ù. Áö¼ö¿Í
°¡¼ö·Î ±¸¼ºµÈ ½Ç¼ö´Â ±¸Á¶°¡ º¹ÀâÇÏ¿© ºñÆ® ´ÜÀ§·Î Á¶ÀÛÇÒ ÀÏÀÌ ¾ø°í ºñÆ®¸¦ Á÷Á¢ °Çµå¸± ½Ç¿ëÀû °¡Ä¡µµ ¾ø´Ù. ´ÙÀ½
¿¹Á¦·Î ºñÆ® ¿¬»êÀÚÀÇ ±âº» µ¿ÀÛÀ» ±¸°æÇØ º¸ÀÚ.
bitop |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { int
a = 0x34; int
b = 0x96; int
c = a & b; int
d = a | b; System.out.printf("c
= %x\n", c); System.out.printf("d
= %x\n", d); } } |
c = 14 d = b6 |
0x34¿Í 0x96À» & ¹× | ¿¬»êÇÏ¿© ±× °á°ú¸¦ Ãâ·ÂÇß´Ù. ºñÆ®°ªÀÇ º¯È¸¦ °üÂûÇØ º¸·Á¸é 10Áø¼öº¸´Ù´Â 16Áø¼ö°¡ Æí¸®ÇÏ´Ù. ¾î°¼ ÀÌ·± ¼ýÀÚ°¡ ³ª¿À´ÂÁö Á÷°üÀûÀ¸·Î ÀÌÇصÇÁö
¾Ê´Âµ¥ ¼öÄ¡°ªÀ» ÀÌÁø ºñÆ®¿·Î ±×·Á ³õ°í ¾Æ·¡ À§·Î ´ëÀÀµÇ´Â ºñÆ®³¢¸® ¿¬»êÇØ º¸ÀÚ.
& ¿¬»êÀº ´ëÀÀµÇ´Â ºñÆ®°¡ ¸ðµÎ 1ÀÏ ¶§ °á°ú ºñÆ®°¡ 1ÀÌ µÇ°í µÑ Áß Çϳª¶óµµ 0ÀÌ¸é °á°ú ºñÆ®´Â 0ÀÌ´Ù. 1°ú
¿¬»êµÇ´Â ºñÆ®´Â ¿ø·¡°ªÀ» À¯ÁöÇϸç 0°ú ¿¬»êµÇ´Â ºñÆ®´Â ¹«Á¶°Ç 0ÀÌ
µÈ´Ù. ÀÌ Æ¯¼ºÀ» ÀÌ¿ëÇϸé 0°ú ´ëÀÀµÇ´Â ºñÆ®´Â ¹«Á¶°Ç 0ÀÌ µÇ´Âµ¥ À̸¦ ¸¶½ºÅ© ¿ÀÇÁ(mask off)¶ó°í ÇÑ´Ù.
| ¿¬»êÀº ¾Æ·¡ À§ ºñÆ®Áß Çϳª¶óµµ
1ÀÌ¸é °á°ú ºñÆ®´Â 1ÀÌ µÇ¸ç µÑ ´Ù 0ÀÏ ¶§¸¸
°á°ú ºñÆ®°¡ 0ÀÌ µÈ´Ù. 1°ú ¿¬»êµÇ´Â ºñÆ®´Â ¹«Á¶°Ç 1ÀÌ µÇ¸ç 0°ú ¿¬»êµÇ´Â ºñÆ®´Â ¿ø·¡°ªÀ» À¯ÁöÇÑ´Ù. ÀÌ Æ¯¼ºÀ» ÀÌ¿ëÇϸé 1°ú ´ëÀÀµÇ´Â ºñÆ®´Â ¹«Á¶°Ç 1ÀÌ µÇ´Âµ¥ À̸¦ ¸¶½ºÅ© ¿Â(mask on)À̶ó°í ÇÑ´Ù.
&¿Í |Àº ¿ìº¯
ÇÇ¿¬»êÀÚÀÇ ºñÆ® ±¸Á¶¿¡ µû¶ó Áº¯ ÇÇ¿¬»êÀÚ¿¡ ¸¶½ºÅ©¸¦ ¾º¿î ÈÄ ³í¸® ¿¬»êÀ» ¼öÇàÇÏ¿© ³ª¸ÓÁö ºñÆ®¸¸ ¼±ÅÃÀûÀ¸·Î Á¶ÀÛÇÏ´Â ±â¹ýÀÌ´Ù. ¸¶½ºÅ©¸¦ ¾º¿î ºñÆ®´Â ¿ø·¡°ªÀ» À¯ÁöÇϴµ¥ &´Â 1ÀÌ ¸¶½ºÅ©ÀÌ°í |Àº 0ÀÌ
¸¶½ºÅ©ÀÌ´Ù.
~ ´ÜÇ× ¿¬»êÀÚ´Â ¸ðµç ºñÆ®¸¦ ¹ÝÀü½ÃÄÑ 1Àº 0À¸·Î ¸¸µé°í 0Àº 1·Î ¸¸µç´Ù. ^ ¿¬»êÀº ¾çÂÊÀÇ ºñÆ®°¡ ´Ù¸¦ ¶§¸¸ 1ÀÌ µÇ¾î ¿ìº¯ÀÇ ºñÆ®°¡ 1ÀÎ ºÎºÐ¸¸ ¼±ÅÃÀûÀ¸·Î ¹ÝÀüµÈ´Ù. ºñÆ®ÀÇ °ªÀ» µÚÁý´Â ¹ÝÀü µ¿ÀÛÀº Àç¹ÝÀü½ÃÅ°¸é ¿ø·¡°ªÀ¸·Î µ¹¾Æ¿À´Â Ư¼ºÀÌ ÀÖ¾î °£´ÜÇÑ ¾Ïȣȿ¡ »ç¿ëµÈ´Ù.
½¬ÇÁÆ® ¿¬»êÀÚ´Â ¿ÞÂÊ ÇÇ¿¬»êÀÚÀÇ ºñÆ®¸¦ ¿À¸¥ÂÊ ÇÇ¿¬»êÀÚ°¡ ÁöÁ¤ÇÏ´Â ¼ö¸¸Å ¿À¸¥ÂÊÀ̳ª ¿ÞÂÊÀ¸·Î ¹Ð¾î À̵¿½ÃŲ´Ù. À̵¿ ¹æÇâ°ú ºÎÈ£ À¯Áö ¿©ºÎ¿¡ µû¶ó ´ÙÀ½ ¼¼ °³ÀÇ ¿¬»êÀÚ°¡ ÀÖ´Ù.
¿¬»êÀÚ |
¼³¸í |
<< |
ºñÆ®¸¦ ¿ÞÂÊÀ¸·Î À̵¿ÇÏ°í
ºó °ø°£Àº 0À¸·Î
ä¿î´Ù. |
>> |
ºñÆ®¸¦ ¿À¸¥ÂÊÀ¸·Î À̵¿ÇÑ´Ù. ÃÖ»óÀ§ ºÎÈ£ ºñÆ®´Â
±×´ë·Î À¯ÁöÇÑ´Ù. |
>>> |
ºñÆ®¸¦ ¿À¸¥ÂÊÀ¸·Î À̵¿ÇÏ°í
ºó °ø°£Àº 0À¸·Î
ä¿î´Ù. ºÎÈ£¸¦ ¹«½ÃÇÏ°í
´Ü¼øÈ÷ ºñÆ®¸¦ ¹Ð±â¸¸ ÇÑ´Ù. |
¿¹¸¦ µé¾î a << 2´Â
aÀÇ ºñÆ®¿À» ¸ðµÎ ¿ÞÂÊÀ¸·Î 2ľ¿ À̵¿½ÃŲ´Ù. ù
¹ø° ºñÆ®°¡ ¼¼ ¹ø° ÄÀ¸·Î À̵¿ÇÏ°í µÎ ¹ø° ºñÆ®´Â ³× ¹ø° ÄÀ¸·Î À̵¿ÇÑ´Ù. ÀÌÁø¼öÀÇ Æ¯¼º»ó ºñÆ®¸¦
¿ÞÂÊÀ¸·Î ¹Ð¸é 2ÀÇ °Åµì½ÂÀ» ÇÏ´Â È¿°ú°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î
¿ÞÂÊÀ¸·Î ÇÑ Ä ¹Ð¸é °ªÀÌ 2¹è°¡ µÇ¸ç µÎ Ä ¹Ð¸é 4¹è°¡
µÈ´Ù. °ö¼ÀÀ» °í¼ÓÀ¸·Î ¼öÇàÇÒ ¼ö ÀÖ¾î °ú°Å ÄÄÇ»ÅÍ°¡ ´À¸± ¶§ ¸¹ÀÌ »ç¿ëÇÏ¿´´Ù.
ºñµð¿À ¸Þ¸ð¸®¸¦ Á÷Á¢ Á¶ÀÛÇϰųª À̹ÌÁöÀÇ Çȼ¿À» ¼¶¼¼ÇÏ°Ô Á¶ÀÛÇÒ ¶§´Â ºñÆ® ¿¬»êÀÚÀÇ ¿ªÇÒÀÌ ±²ÀåÈ÷ Áß¿äÇßÀ¸¸ç
½ºÅ©·ÑÀ̳ª Åõ¸í ¸¶½ºÅ© 󸮿¡ ÇʼöÀûÀÎ ¿¬»êÀ̾ú´Ù. ±×·¯³ª º¸È£µÈ ȯ°æ¿¡¼ Á÷Á¢ÀûÀÎ ¸Þ¸ð¸® Á¶ÀÛÀÌ ±ÝÁöµÇ°í
°í¼öÁØ ¶óÀ̺귯¸®°¡ ¿ö³« Àß ±¸ºñµÇ¾î ÀÖ¾î ¿äÁòÀº ½¬ÇÁÆ® ¿¬»êÀ» ÇÒ °æ¿ì°¡ ¸¹Áö ¾Ê´Ù.
¸Þ¸ð¸® °¡°ÝÀÌ ºñ½Ò ¶§´Â ÇϳªÀÇ Á¤¼ö°ª¿¡ ºñÆ®º°·Î Àß¶ó ¿©·¯ °¡Áö Á¤º¸¸¦ ÀúÀåÇß¾ú´Âµ¥ »ö»ó°ªÀ̳ª ÇÑ±Û Á¶ÇÕÇü
ÄÚµå, Ç÷¡±×°ª µîÀÌ ´ëÇ¥ÀûÀÎ ¿¹ÀÌ´Ù. ÀÌ·± Á¶ÇÕ°ª¿¡¼ ºñÆ®¸¦
À߶ó Á¤º¸¸¦ Àаųª Á¶ÀÛÇÒ ¶§ ºñÆ® ¿¬»êÀÚ°¡ ²À ÇÊ¿äÇÏ´Ù. ´ÙÀ½ ¿¹Á¦·Î & ¿¬»ê°ú >> ¿¬»êÀÌ ¾î¶»°Ô È°¿ëµÇ´ÂÁö ±¸°æÇØ
º¸ÀÚ.
bitshift |
½ÇÇà°á°ú |
class JavaTest { public
static void main(String[] args) { int
c = 0x887944; System.out.printf("R
= %x\n", (c & 0xff0000) >> 16); System.out.printf("G
= %x\n", (c & 0x00ff00) >> 8); System.out.printf("B
= %x\n", c & 0x0000ff); } } |
R = 88 G = 79 B = 44 |
0x887944ÀÇ °ªÀ» °¡Áö´Â »ö»ó°ªÀ» °¢ ¿ä¼Òº°·Î ºÐ¸®ÇÑ´Ù. ºñÆ®16 ~ ºñÆ® 23¿¡
¹èÄ¡µÈ »¡°£»öÀ» ¾òÀ¸·Á¸é 0xff0000°ú & ¿¬»êÇÏ¿©
ÃÊ·Ï»ö°ú ÆĶõ»öÀ» ¹ö¸°´Ù. »¡°£»öÀº ¸¶½ºÅ©¸¦ ¾º¿ö ³²°Ü µÎ°í ³ª¸ÓÁö »ö»óÀº ¿ÀÇÁ½ÃŲ´Ù. ±×¸®°í ¿À¸¥ÂÊÀ¸·Î 16Ä ¹Ð¾î ÀÚ¸®¼ö¸¦ À̵¿½ÃÅ´À¸·Î½á 88À̶ó´Â »¡°£»ö°ªÀ» ¾ò´Â´Ù. ´ÙÀ½ ±×¸²¿¡¼ °ÝÀÚ Çϳª´Â 4ºñÆ®ÀÌ´Ù.
ÃÊ·Ï»öÀ̳ª ÆĶõ»ö ¿ä¼Ò¸¦ ºÐ¸®ÇÒ ¶§´Â ¸¶½ºÅ©°ª°ú ½¬ÇÁÆ® ÀÚ¸®¼ö°¡ ´Þ¶óÁø´Ù. ¹Ý´ë·Î
ºÐ¸®µÈ R, G, B °ªÀ» ÇÕÃÄ Çϳª·Î ¸¸µé ¶§´Â << ¿¬»êÀÚ¿Í | ¿¬»êÀÚ°¡ »ç¿ëµÈ´Ù. ºñÆ® ¿¬»êÀÚ´Â ÀÌ·± Á¤¹ÐÇÑ ¿¬»ê¿¡ »ç¿ëµÈ´Ù.