Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 16진수 비트 XOR 연산 수행하는 방법

파이썬에서는 ^ 연산자를 사용하면 정수, 16진수 등 모든 유형의 숫자에 대해 XOR(배타적 논리합) 연산을 손쉽게 수행할 수 있습니다. 특히 16진수의 경우 다음과 같이 작성하면 됩니다.

a = 0x12ef
b = 0xabcd
print(hex(a ^ b))

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

0xb922

XOR 연산의 원리

숫자 앞에 붙는 0x 접두사는 해당 숫자가 16진수 표현임을 나타냅니다. 파이썬은 내부적으로 모든 정수를 이진수로 처리하기 때문에, 숫자를 16진수로 표현했더라도 ^ 연산자를 그대로 사용할 수 있습니다.

hex() 함수는 연산 결과를 다시 16진수 문자열 형태로 변환해 주는 역할을 합니다. 만약 10진수 값으로 출력하고 싶다면 hex()를 생략하고 print(a ^ b)처럼 작성하면 됩니다.

또한 ^ 연산자는 16진수뿐만 아니라 10진수, 8진수(0o), 2진수(0b) 등 다양한 정수 표현 방식에도 동일하게 적용할 수 있습니다.