본문 바로가기

프로그래밍 언어/파이썬

파이썬(Python) 비트 연산자 기본 개념과 활용법

파이썬(Python) 비트 연산자 기본 개념과 활용법

파이썬에서는 비트 연산자를 활용하여 비트 단위로 데이터를 처리할 수 있습니다. 이 글에서는 파이썬(Python) 비트 연산자에 대해 기본 개념부터 실제 활용 사례까지 다루며, 각 연산자의 특성과 사용 방법을 설명합니다.

 

 

 

1. 비트 AND 연산자 (&)

비트 AND 연산자는 두 비트가 모두 1일 경우에만 결과 비트가 1이 되는 연산입니다. 이 연산은 주로 특정 비트를 마스킹(masking)하거나 특정 비트 패턴을 추출하는 데 사용됩니다.


# 예제
a = 10    # 1010
b = 6     # 0110
result = a & b   # 0010 (결과는 2)
    

위 예제에서는 10(1010)과 6(0110)의 비트 AND 연산을 수행하였습니다. 결과는 2(0010)가 됩니다.

 

 

2. 비트 OR 연산자 (|)

비트 OR 연산자는 두 비트 중 하나 이상이 1일 경우 결과 비트가 1이 되는 연산입니다. 이 연산은 비트를 설정하거나 비트 패턴을 결합하는 데 사용됩니다.


# 예제
a = 10    # 1010
b = 6     # 0110
result = a | b   # 1110 (결과는 14)
    

위 예제에서는 10(1010)과 6(0110)의 비트 OR 연산을 수행하였습니다. 결과는 14(1110)가 됩니다.

 

 

3. 비트 XOR 연산자 (^)

비트 XOR 연산자는 두 비트가 서로 다를 때 결과 비트가 1이 되는 연산입니다. 이 연산은 데이터 암호화나 데이터 변환 과정에서 주로 사용됩니다.


# 예제
a = 10    # 1010
b = 6     # 0110
result = a ^ b   # 1100 (결과는 12)
    

위 예제에서는 10(1010)과 6(0110)의 비트 XOR 연산을 수행하였습니다. 결과는 12(1100)가 됩니다.

 

 

4. 비트 NOT 연산자 (~)

비트 NOT 연산자는 단일 피연산자의 모든 비트를 반전시키는 연산입니다. 이 연산은 부호를 반전시키거나 특정 비트를 뒤집는 데 사용될 수 있습니다.


# 예제
a = 10    # 00000000000000000000000000001010 (32비트)
result = ~a   # 11111111111111111111111111110101 (결과는 -11)
    

위 예제에서는 10을 32비트로 표현한 후 비트 NOT 연산을 수행하였습니다. 결과는 -11이 됩니다.

 

 

5. 비트 왼쪽 시프트 연산자 (<<)

비트 왼쪽 시프트 연산자는 피연산자의 비트를 왼쪽으로 지정된 수만큼 이동시키는 연산입니다. 이 연산은 곱셈 연산을 대체하는 데 사용됩니다.


# 예제
a = 5    # 101 (2진수)
result = a << 2   # 10100 (결과는 20)
    

위 예제에서는 5(101)의 비트를 왼쪽으로 2칸 이동시키는 비트 왼쪽 시프트 연산을 수행하였습니다. 결과는 20(10100)이 됩니다.

 

 

6. 비트 오른쪽 시프트 연산자 (>>)

비트 오른쪽 시프트 연산자는 피연산자의 비트를 오른쪽으로 지정된 수만큼 이동시키는 연산입니다. 이 연산은 나눗셈 연산을 대체하는 데 사용됩니다.


# 예제
a = 20    # 10100 (2진수)
result = a >> 2   # 101 (결과는 5)
    

위 예제에서는 20(10100)의 비트를 오른쪽으로 2칸 이동시키는 비트 오른쪽 시프트 연산을 수행하였습니다. 결과는 5(101)가 됩니다.