XOR(배타적 논리합)은 비트 연산자 중 하나로, 두 개의 비트가 다른 경우에만 1을 반환하고, 같은 경우에는 0을 반환하는 연산자입니다. XOR 연산은 "배타적으로 둘 중 하나만 참일 때"라는 의미를 갖고 있습니다.
XOR 연산은 비트 단위로 수행되며, 비트가 서로 다른 경우에만 1을 결과로 반환합니다. 다음은 XOR 연산의 진리표(truth table)입니다.
A | B | A XOR B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
위의 진리표에서 볼 수 있듯이, XOR 연산은 두 개의 비트가 같은 경우에는 0을 반환하고, 다른 경우에는 1을 반환합니다. 이를 이용하면 데이터의 비트 패턴을 조작하거나 상태를 변경하는 데 유용하게 사용할 수 있습니다.
XOR 연산을 활용하여 특정 비트를 반전시키거나 특정 비트를 설정 또는 해제할 수 있습니다. 이를 통해 비트 플래그를 조작하거나 집합 연산을 효율적으로 수행할 수 있습니다.
def xor_operation(a, b, c):
# C가 짝수일 경우 A를 반환합니다. 짝수 번 XOR 연산 시 동일한 값으로 돌아옵니다.
if c % 2 == 0:
return a
# C가 홀수일 경우 A와 B를 XOR 연산하여 결과를 반환합니다.
else:
return a ^ b
a, b, c = map(int, input().split())
print(xor_operation(a, b, c))