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

파이썬 세로 막대(|) 연산자란? 비트 OR 연산자 완벽 이해

파이썬에서 세로 막대(|)의 의미

파이썬에서 세로 막대(|)비트 OR(bitwise OR) 연산자를 나타냅니다. 두 정수 객체에 이 연산자를 적용하면, 각 숫자를 이진수로 변환한 후 자릿수별로 OR 연산을 수행한 결과를 반환합니다.

비트 OR 연산의 기본 원리

비트 OR 연산은 두 비트 중 하나라도 1이면 결과가 1이 되고, 둘 다 0일 때만 0이 됩니다.

  • 0 | 0 = 0
  • 0 | 1 = 1
  • 1 | 0 = 1
  • 1 | 1 = 1

예제 코드

>>> a=4
>>> bin(a)
'0b100'
>>> b=5
>>> bin(b)
'0b101'
>>> a|b
5
>>> c=a|b
>>> bin(c)
'0b101'

결과 분석

위 예제에서 a=4는 이진수로 100, b=5는 이진수로 101입니다. 두 수를 비트 OR 연산하면 다음과 같습니다.

  100  (4)
| 101 (5)
-------
101 (5)

각 자릿수를 비교하면 첫째 자리(오른쪽)는 0과 1이므로 1, 가운데 자리는 0과 0이므로 0, 왼쪽 자리는 1과 1이므로 1이 됩니다. 따라서 최종 결과는 이진수 101, 즉 십진수 5입니다.

참고: 복합 할당 연산자 |=

세로 막대와 등호를 조합한 |=는 비트 OR 복합 할당 연산자입니다. x |= yx = x | y와 동일하게 동작하며, 기존 변수에 비트 OR 연산 결과를 바로 저장할 때 유용합니다.