안녕하세요. 혀코입니다.
이번 시간에는 C++에서 비트단위논리연산을 하는 방법에 대해서 알아보겠습니다.
참고로 비트단위 논리연산자로는 다음과 같은 기호들이 있습니다.
~ : bitwise not
& : bitwise and
| : bitwise or
^ : bitwise xor
<< : bitwise left shift
>> : bitwise right shift
# 입력된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력하는 방법
정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력하려면 ~ 기호를 사용합니다.
1을 입력하면 1은 32비트 2진수로 표현하면, 00000000 00000000 00000000 00000001 이 되고,
~1은 11111111 11111111 11111111 11111110 이 되는데 이것은 -2를 의미합니다.
#include <iostream>
int main() {
int a;
scanf("%d", &a);
printf("%d", ~a);
return 0;
}
# 입력된 두 개의 정수를 비트단위로 and 연산한 후 그 결과를 정수로 출력하는 방법
비트단위로 and 연산한 후 그 결과를 정수로 출력하려면, & 기호를 사용합니다.
#include <iostream>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a & b);
return 0;
}
# 입력된 두 개의 정수를 비트단위로 or 연산한 후 그 결과를 정수로 출력하는 방법
비트단위로 or 연산한 후 그 결과를 정수로 출력하려면, | 기호를 사용합니다.
#include <iostream>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a | b);
return 0;
}
# 입력된 두 개의 정수를 비트단위로 xor 연산한 후 그 결과를 정수로 출력하는 방법
비트단위로 xor 연산한 후 그 결과를 정수로 출력하려면 ^ 기호를 사용합니다.
#include <iostream>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a ^ b);
return 0;
}
이렇게 C++에서 비트단위논리연산을 하는 방법에 대해서 알아봤습니다.
유용하셨다면, 공감과 구독 부탁 드립니다.
감사합니다. :)
댓글