파이썬 비트연산자 [^, |, &, ~, <<, >>] 정리

파이썬 비트 연산자

비트 연산자는 정수(+,0,-)를 이진수(bit) 형식으로 표현한 후, 각 비트 단위로 논리 연산을 수행하는 연산자입니다. 이때 비트(bit)는 이진수에서 사용되는 최소 단위로, 0과 1로 구성되어 있습니다.

 

예를 들어 10진수 정수 10과 7은 이진수로 각각 1010과 0111로 표현됩니다.

비트 연산자를 사용하면 이 두 수의 각 비트에 대한 논리 연산을 수행할 수 있습니다.

num1,num2 = 5,3
print(bin(5),bin(3)) # 0b101 0b11

파이썬에서는 bin() 함수를 사용하면 10진수를 2진수로 변환해 줍니다.

 

 

비트 연산자의 종류

연산자 부호
비트 AND  &
비트 OR  |
비트 XOR ^
비트 NOT ~
비트 Left Shift <<
비트 Right Shift >>

 

 

AND 연산자

a = 10  # 1010 (이진수)
b = 7   # 0111 (이진수)
result = a & b
print(result)  # 2 (0010, 이진수)

AND 연산자 &는 두 비트 값이 모두 1일 때 결과가 1이 되는 연산입니다.

 

 

OR연산자

OR 연산자 |는 두 비트 값 중 하나라도 1이면 결과가 1이 되는 연산입니다.

a = 10  # 1010 (이진수)
b = 7   # 0111 (이진수)
result = a | b
print(result)  # 15 (1111, 이진수)

 

 

XOR연산

a = 10  # 1010 (이진수)
b = 7   # 0111 (이진수)
result = a ^ b
print(result)  # 13 (1101, 이진수)

XOR 연산자는 두 비트 값이 서로 다르면 결과가 1이 되는 연산입니다.

 

 

NOT연산자

a = 10      #  00001010 (이진수)
result = ~a # -00001011 (이진수)
print(result)  # -11

NOT 연산자는 각 비트 값을 반전시키는 연산입니다

 

 

Left Shift 연산자

a = 10       # 001010 (이진수)
result = a << 2 # 2칸 이동
print(result)  # 40 (101000, 이진수)

 Left Shift 연산자는 비트 값을 왼쪽으로 이동시키는 연산입니다.

이때 오른쪽에 들어오는 비트는 0이 채워집니다.

 

Right Shift 연산자

a = 10       # 001010 (이진수)
result = a >> 2 # 2칸 이동
print(result)  # 2 (0010, 이진수)

Right Shift 연산자는 비트 값을 오른쪽으로 이동시키는 연산입니다.

이때 왼쪽에 들어오는 비트는 0이 채워집니다

 

Top