본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
정수 2개를 입력받아
두 정수를 비트단위로 xor 연산한 후, 그 값을 정수로 출력해보자.
비트단위(bitwise) xor 연산자 ^ 을 사용하면 된다. (^ : xor, circumflex/caret, 서컴플렉스/카릿)
** 주의 ^은 수학식에서 거듭제곱(power)을 나타내는 기호와 모양은 같지만,
Python 에서는 전혀 다른 의미의 배타적 논리합(xor, 서로 다를 때 True)의 의미를 가진다.
예시
print(a^b)
참고
** 저장되어있는 비트단위로 계산하거나 처리하는 비트단위(bitwise) 연산자는
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift) 가 있다.
예를 들어 3과 5가 입력되었을 때를 살펴보면
3 : 00000000 00000000 00000000 00000011
5 : 00000000 00000000 00000000 00000101
3 ^ 5 : 00000000 00000000 00000000 00000110
이 된다.
이러한 비트단위 연산은
빠른 그래픽처리를 위해 이전 화면과 다른 부분만 찾아내거나 처리하는
마스크(특정 부분을 가리는) 연산을 수행하는데에도 효과적으로 사용된다.
구체적으로 설명하자면, 빠른 3D 그래픽 처리를 한다고 할 때,
이전 화면과 다른 부분만 골라내 처리해서 더 빠르게 화면을 그릴 수 있는 것이다.
화면을 구성하는 모든 점들의 색을 다시 계산해서 처리하지 않고,
색이 달라지는 점들만 골라내서 그 점들만 색을 다시 처리하면 더 빠르게 화면을 그릴 수 있다.