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

파이썬 오른쪽 시프트(>>) 연산자란? 비트 연산의 기본 이해하기

파이썬 오른쪽 시프트(>>) 연산자란?

파이썬에서 >>오른쪽 시프트(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 >> 2100 // 4, 즉 25와 같습니다. 다만 음수에 적용할 경우 산술 시프트 방식으로 동작하므로 부호 비트 처리에 유의해야 합니다.