파이썬 오른쪽 시프트(>>) 연산자란?
파이썬에서 >>는 오른쪽 시프트(right shift) 연산자라고 부르며, 대표적인 비트(bitwise) 연산자 중 하나입니다. 이 연산자는 첫 번째 피연산자를 이진수(비트) 형태로 다루며, 두 번째 피연산자가 지정한 비트 수만큼 비트들을 오른쪽으로 밀어냅니다.
비트가 오른쪽으로 이동하면서 생긴 왼쪽 앞자리 빈 공간은 모두 0으로 채워집니다. 즉, 양수에 대해 오른쪽 시프트는 각 이동마다 값을 2로 나누는 효과와 같습니다.
기본 문법
결과값 = 숫자 >> 이동할_비트_수
예제 코드
다음 예제에서 변수 a의 값은 100이며, 이진수로 표현하면 0110 0100입니다. 여기서 오른쪽으로 2비트 이동하면 0001 1001, 즉 십진수 25가 됩니다.
>>> bin(a) # a의 이진수 표현: 0110 0100 (십진수 100)
'0b1100100'
>>> b = a >> 2 # 오른쪽으로 2비트 이동: 0001 1001
>>> b
25
>>> bin(b)
'0b11001'
동작 과정 정리
위 예제의 동작을 단계별로 살펴보면 다음과 같습니다.
1. a = 100의 이진수 값은 1100100입니다.
2. a >> 2는 비트를 오른쪽으로 2칸 이동시켜 11001을 만듭니다.
3. 왼쪽 빈 자리는 0으로 채워지며, 결과는 십진수 25가 됩니다.
참고 사항
오른쪽 시프트는 수학적으로 2의 n제곱으로 나눈 몫(정수 나눗셈)과 동일한 결과를 냅니다. 예를 들어 100 >> 2는 100 // 4, 즉 25와 같습니다. 다만 음수에 적용할 경우 산술 시프트 방식으로 동작하므로 부호 비트 처리에 유의해야 합니다.