숫자의 처음 16비트만 반전(inversion)시키고 싶다면, 해당 숫자를 65535(2진수로 16개의 1)와 XOR 연산하면 됩니다. XOR 연산은 대응하는 비트가 서로 다를 때 1을 반환하기 때문에, 16개의 1로 이루어진 값과 XOR하면 하위 16비트는 모두 뒤집히고 나머지 상위 비트는 그대로 유지됩니다.
예제
a = 3 # 2진수로 11 b = a ^ 65535 print(bin(b))
출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
0b1111111111111100
원래 값 3은 2진수로 0b11이지만, 65535(0b1111111111111111)와 XOR 연산을 거치면 하위 16비트 전체가 반전되어 0b1111111111111100이 됩니다. 이처럼 특정 비트 폭에 맞춰 1의 보수(비트 반전)를 계산할 때 XOR 마스크 기법이 널리 사용되며, 신호 처리나 저수준 데이터 조작에서도 유용하게 활용됩니다.