C++에는 3가지 비트 연산자가 있습니다. 이들은 비트 AND(&), 비트 OR(|) 및 비트 XOR(^)입니다.
비트 AND 연산자(&)는 첫 번째 피연산자의 각 비트를 두 번째 피연산자의 해당 비트와 비교합니다. 두 비트가 모두 1이면 해당 결과 비트가 1로 설정됩니다. 그렇지 않으면 해당 결과 비트가 0으로 설정됩니다. 비트 포함 AND 연산자에 대한 두 피연산자는 정수 유형이어야 합니다. 예를 들어,
예시
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a & b ) << endl; }
출력
이것은 출력을 제공합니다 -
0
비트 OR 연산자(|)는 첫 번째 피연산자의 각 비트를 두 번째 피연산자의 해당 비트와 비교합니다. 비트 중 하나가 1이면 해당 결과 비트가 1로 설정됩니다. 그렇지 않으면 해당 결과 비트가 0으로 설정됩니다. 비트 포함 OR 연산자에 대한 두 피연산자는 정수 유형이어야 합니다. 예를 들어,
예시
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a | b ) << endl; }
출력
이것은 출력을 제공합니다 -
ffff
비트별 배타적 OR 연산자(^)는 첫 번째 피연산자의 각 비트를 두 번째 피연산자의 해당 비트와 비교합니다. 한 비트가 0이고 다른 비트가 1이면 해당 결과 비트가 1로 설정됩니다. 그렇지 않으면 해당 결과 비트가 0으로 설정됩니다. 비트 배타적 OR 연산자에 대한 두 피연산자는 정수 유형이어야 합니다. 예를 들어,
예시
#include <iostream> using namespace std; int main() { short a = 0x5555; // pattern 0101 ... unsigned short b = 0xFFFF; // pattern 1111 ... cout << hex << ( a ^ b ) << endl; }
출력
이것은 출력을 제공합니다 -
aaaa
이는 패턴 1010을 나타냅니다...