다음 예제 코드를 통해 비트 연산을 이해하겠습니다.
bit_operator.c
#include <stdio.h> main() { int a = 178; int b = 104; int c = 10; printf("%d & %d = %d\n", a, b, a & b); printf("%d | %d = %d\n", a, b, a | b); printf("%d ^ %d = %d\n", a, b, a ^ b); printf("c = %d, ~c = %d\n", c, ~c); }
실행 결과
178 & 104 = 32
178 | 104 = 250
178 ^ 104 = 218
c = 10, ~c = -11
이 프로그램은 정수형 변수 a의 값 178과 정수형 변수 b의 값 104의 비트 연산을 수행하고자 합니다. 문득 ‘178은 비트가 아닌데 비트 연산을 어떻게 해야 할까?’라는 생각이 들 것입니다.