코딩하는 해맑은 거북이

[Python] 비트 연산자 종류 본문

Python/기본

[Python] 비트 연산자 종류

#CJE 2024. 1. 9.
해당 글은 비트 연산자 5가지를 다룬다.
1. AND(&)
2. OR(|)
3. XOR(^)
4. NOT(~)
5. SHIFT(<<, >>)

0. 2진수 변환 → bin(정수)

파이썬에서 10진수를 2진수로 변환할 때는 bin 함수를 사용한다.

print(0b1100)
print(bin(12))

12
0b1100

 

1.  AND(&)

비트 단위로 AND 연산을 수행하는 연산자는 & 이다.

AND 연산은 두 비트가 모두 1일 때 결과는 1, 그 외에는 0이 된다.

A B A & B
0 0 0
0 1 0
1 0 0
1 1 1
print(0b1100 & 0b1010, bin(0b1100 & 0b1010))

8 0b1000

 

2. OR(|)

비트 단위로 OR 연산을 수행하는 연산자는 | 이다.

OR 연산은 두 비트 중 하나만 1이어도 결과는 1, 둘다 0일 때만 0이 된다.

A B A | B
0 0 0
0 1 1
1 0 1
1 1 1
print(0b1100 | 0b1010, bin(0b1100 | 0b1010))

14 0b1110

 

3. XOR(^)

비트 단위로 XOR 연산을 수행하는 연산자는 ^ 이다.

XOR 연산은 두 비트가 서로 다를 때 결과는 1, 같을 때는 0이 된다.

A B A ^ B
0 0 0
0 1 1
1 0 1
1 1 0
print(0b1100 ^ 0b1010, bin(0b1100 ^ 0b1010))

6 0b110

 

4. NOT(~)

비트 단위로 NOT 연산을 수행하는 연산자는 ~ 이다.

NOT 연산은 0은 1로, 1은 0으로 각 비트를 반전시킨다.

A ~A
0 1
1 0
print(~0b1100, bin(~0b1100))

-13 -0b1101

 

5. SHIFT(<<, >>)

비트 단위로 SHIFT 연산을 수행하는 연산자는 <<와 >>가 있다.

<<는 LEFT SHIFT로 왼쪽으로 비트를 이동시키는 연산이다.

>>는 RIGHT SHIFT로 오른쪽으로 비트를 이동시키는 연산이다.

print(0b1100 << 2, bin(0b1100 << 2))
print(0b1100 >> 2, bin(0b1100 >> 2))

48 0b110000
3 0b11

 

 

Comments