printf("a & b = %d\n", a & b); // 비트 AND printf("a | b = %d\n", a | b); // 비트 OR printf("a ^ b = %d\n", a ^ b); // 비트 XOR printf("~a = %d\n", ~a); // 비트 NOT
return 0; }
출력 결과 a = 5 (0101), b = 3 (0011) a & b = 0001 → 1 a | b = 0111 → 7 a ^ b = 0110 → 6 ~a = 1111...1010 → -6 (2의 보수 표현으로 인한 음수)
답글삭제page 92쪽 이 내용 추가
6. 비트 XOR (^)
^ 연산자는 두 숫자의 같은 위치에 있는 비트를 비교하여, 두 비트가 서로 다르면 결과 비트를 1로 만듭니다. 두 비트가 같으면 0이 됩니다.
00000101 (5)
^ 00000011 (3)
-----------
00000110 (6)
작성자가 댓글을 삭제했습니다.
답글삭제CODE 5.9 | 비트 논리 연산자 예제
답글삭제#include
int main(void) {
int a = 5;
int b = 3;
printf("a & b = %d\n", a & b); // 비트 AND
printf("a | b = %d\n", a | b); // 비트 OR
printf("a ^ b = %d\n", a ^ b); // 비트 XOR
printf("~a = %d\n", ~a); // 비트 NOT
return 0;
}
출력 결과
a = 5 (0101), b = 3 (0011)
a & b = 0001 → 1
a | b = 0111 → 7
a ^ b = 0110 → 6
~a = 1111...1010 → -6 (2의 보수 표현으로 인한 음수)