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

파이썬 물결표(~) 연산자란? 비트 NOT 연산자 쉽게 이해하기

파이썬에서 물결표(~) 연산자란?

파이썬에서 물결표(~), 즉 틸드(tilde) 기호는 비트 NOT(bitwise NOT) 연산자로, '보수(complement)' 연산을 수행합니다. 이 연산자는 단 하나의 피연산자를 받아 그 수의 모든 비트를 반전한 결과를 반환합니다.

동작 방식은 매우 간단합니다. 피연산자의 비트가 1이면 0으로, 0이면 1로 바꿔줍니다.

보수 연산의 예시

예를 들어 a = 60(2진수로 0011 1100)일 때, 그 비트를 모두 반전한 결과는 -61이 됩니다. 파이썬에서 음수는 2의 보수(two's complement) 방식으로 저장되기 때문입니다.

>>> a = 60
>>> bin(a)
'0b111100'
>>> b = ~a
>>> a
60
>>> b
-61
>>> bin(b)
'-0b111101'

기억하면 좋은 공식: ~x = -(x+1)

물결표 연산자에는 유용한 규칙이 있습니다. 어떤 정수 x에 대해 ~x는 항상 -(x+1)과 같습니다. 따라서 위 예시처럼 ~60 = -61이 되고, 반대로 ~-61 = 60도 성립합니다. 이 공식을 알면 복잡하게 비트를 계산하지 않고도 결과를 빠르게 예측할 수 있습니다.