728x90
반응형
◇ 비트 연산자란 데이터를 2진수로 인식하여 연산을 수행하는 연산자입니다.
비트연산자 | 설명 |
& (and) |
연산대상과 피연산자의 비트가 모두 1 일때 1이 됩니다. ex) 1111 & 1010 == 1010 |
| (or) |
연산대상과 피연산자의 비트 중 하나라도 1이면 1이 됩니다. ex) 1001 | 0100 == 1101 |
^ (exclusive or || xor) |
연산대상과 피연산자의 비트가 다를 경우 1이 됩니다. ex) 1010 ^ 1000 == 0010 |
~ (complement) |
비트를 반전시킵니다. ex) ~1000 == 0111 |
<< |
왼쪽으로 비트를 이동시킵니다 ex) 1000 >> 2 == 0010 |
>> |
오른쪽으로 비트를 이동시킵니다 ex) 0010 << 1 == 0100 |
◇ 활용 예시
main() {
int num1 = 11; //11(0000 1011)
int num2 = 11;
int num3 = 11;
int num4 = 11;
int num5 = 11;
num1 &= 3; // 3(0000 0011) AND 연산
/*
0000 1011 (11)
0000 0011 (3)
---------
0000 0011 (3)
*/
num2 |= 2; // 2(0000 0010) OR 연산
/*
0000 1011 (11)
0000 0010 (2)
---------
0000 1011 (11)
*/
num3 ^= 8; // 8(0000 1000) XOR 연산
/*
0000 1011 (11)
0000 1000 (8)
---------
0000 0011 (3)
*/
num4 <<= 3; // 비트를 왼쪽으로 3번 이동
/*
0000 1011 (11)
---------
0101 1000 (88)
*/
num5 >>= 2; //비트를 오른쪽으로 2번 이동
/*
0000 1011 (11)
---------
0000 0010 (2)
*/
printf("%u\n", num1);
printf("%u\n", num2);
printf("%u\n", num3);
printf("%u\n", num4);
printf("%u\n", num5);
}
▷결과값으로 순서대로 3 11 3 88 2가 출력됩니다.
반응형
'Programming > C Language' 카테고리의 다른 글
[C] 싱글 링크드 리스트(Single Linked List) (0) | 2019.06.18 |
---|---|
[C] 반복문에 대해서 알아보자! (0) | 2019.06.15 |
[C] 함수 프로토타입이란 무엇일까? (0) | 2019.06.15 |
[C] Enum(열거형)에 대해 알아보자 (0) | 2019.06.15 |
[C] 함수 포인터 (0) | 2019.06.13 |