½ÃÇÁÆ® ¿¬»êÀÚ(Shift operator)´Â
ºñÆ® ´ÜÀ§·Î ÁÂÃø
¶Ç´Â ¿ìÃøÀ¸·Î À̵¿½ÃŰ´Â
¿¬»êÀÚÀÔ´Ï´Ù.
|
±â ´É |
»ç¿ë ¿¹ |
|
|
<< |
ºñÆ®¸¦ ÁÂÃøÀ¸·Î À̵¿ |
a=b<<2 |
|
>> |
ºñÆ®¸¦ ¿ìÃøÀ¸·Î À̵¿ |
a=b>>2 |
¡¼¼Ò½º ÇÁ·Î±×·¥¡½
// File Name : ex059_shift.c
#include <stdio.h>
int main(void){
int a=12,
left, right;
left = a
<< 2;
right = a
>> 2;
printf("Á·Π2ȸ ½ÃÇÁÆ®ÇÑ
°á°ú = %d\n", left);
printf("¿ì·Î 2ȸ ½ÃÇÁÆ®ÇÑ
°á°ú = %d\n", right);
}
¡¼½ÇÇà °á°ú¡½
Á·Π2ȸ ½ÃÇÁÆ®ÇÑ °á°ú = 48
¿ì·Î 2ȸ ½ÃÇÁÆ®ÇÑ °á°ú = 3
À§ ÇÁ·Î±×·¥¿¡¼ aÀÇ °ªÀ» 2Áø¼ö·Î º¯È¯Çϸé 00001100Àε¥, À̸¦
ÁÂÃøÀ¸·Î 2ȸ ½ÃÇÁÆ®Çϸé 00110000À¸·Î º¯°æµË´Ï´Ù(À̵¿ ÈÄ¿¡
ºóÀÚ¸®´Â 0ÀÌ Ã¤¿öÁø´Ù.) °°Àº ¹æ¹ýÀ¸·Î
¿ìÃøÀ¸·Î 2ȸ ½ÃÇÁÆ®Çϸé 00000011·Î º¯°æµÇ´Âµ¥
ºñÆ®¸¦
À̵¿½ÃÄÑ
³ª¿À´Â
°á°ú
°ªÀº
´ÙÀ½°ú
°°½À´Ï´Ù.
q shift left °á°ú°ª ¡æ Á¤¼ö°ª *
(n:À̵¿ÇÑ ºñÆ® ¼ö)
q shift right °á°ú°ª ¡æ Á¤¼ö°ª /
(n:À̵¿ÇÑ ºñÆ® ¼ö) ¼Ò¼öÁ¡ÀÌÇÏ »èÁ¦