상세 컨텐츠

본문 제목

[Python] 비트 연산자(Bitwise Operator) 개념 정리

Python

by Corn/sec 2025. 2. 4. 16:43

본문

작성: Corn/sec, ChatGPT, 편집: Corn/sec

 

비트 연산자는 이진수(0과 1)를 직접 다루는 연산자로, 숫자의 각 비트 단위에서 연산을 수행하는 방식입니다. 컴퓨터는 내부적으로 모든 데이터를 0과 1로 처리하므로, 비트 연산을 활용하면 연산 속도가 빠르고 효율적입니다.

 

# 비트 연산자 활용 예제는 해당 포스팅에서 자세히 확인 할 수 있습니다. #

[프로그래머스 풀이]: Lv.0 / 세균 증식

 

주요 비트 연산자

1) AND 연산 (&)

두 비트가 모두 1일 때만 1이 되는 연산입니다.

A B A & B
0 0 0
0 1 0
1 0 0
1 1 1

예제 코드

print(5 & 3)  # 5: 101, 3: 011 → 결과: 001 (1)

2) OR 연산 (|)

둘 중 하나라도 1이면 결과가 1이 됩니다.

예제 코드

print(5 | 3)  # 5: 101, 3: 011 → 결과: 111 (7)

3) XOR 연산 (^)

두 비트가 서로 다를 때만 1이 되는 연산입니다.

예제 코드

print(5 ^ 3)  # 5: 101, 3: 011 → 결과: 110 (6)

4) NOT 연산 (~)

비트를 반전(0 → 1, 1 → 0)하는 연산입니다.

예제 코드

print(~5)  # 5: 101 → 결과: -6 (컴퓨터의 음수 표현 방식 때문)

5) 왼쪽 시프트 (<<)

비트를 왼쪽으로 이동시키며, 2배씩 증가하는 효과가 있습니다.

예제 코드

print(5 << 1)  # 5: 101 → 1010 (10)
print(5 << 2)  # 5: 101 → 10100 (20)

n << xn * (2^x)와 같습니다.


6) 오른쪽 시프트 (>>)

비트를 오른쪽으로 이동시키며, 2로 나누는 효과가 있습니다.

예제 코드

print(5 >> 1)  # 5: 101 → 10 (2)
print(5 >> 2)  # 5: 101 → 1 (1)

관련글 더보기