^

설명

C++에는 비트 배타적 OR(비트 XOR로도 알려짐)라 불리는다소 일반적이지 않은 연산자가 있다. (영어에서 보통 "엑스-오어"로 발음.) 비트 XOR 연산자는 캐럿 기호 ^ 를 쓴다. 비트 XOR 연산자는 입력 비트들이 서로 다르면 1이되고, 아니면 0이 된다.

정확히,

0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 1 1 0 (operand1 ^ operand2) - 결과 반환

예제 코드

int x = 12; // 2진수: 1100 int y = 10; // 2진수: 1010 int z = x ^ y; // 2진수: 0110, 즉 10진수 6

^ 연산자는 정수식의 어떤 비트들을 토글(0을 1로, 1을 0으로 바꿈))에 주로 쓰인다. 비트 XOR 연산에서 마스크 비트에 1이 있으면 그 비트는 뒤집힌다. 0이 있으면 비트는 뒤집히지 않고 그대로 있다. 아래는 디지털 핀 5가 깜박이는 프로그램.

// Blink_Pin_5 // demo for Exclusive OR void setup() { DDRD = DDRD | B00100000; // 디지털 핀 5를 OUTPUT 으로 Serial.begin(9600); } void loop() { PORTD = PORTD ^ B00100000; // 비트 5 (디지털 5) 뒤집기, 다른 것은 그대로 delay(100); }
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.