728x90

비트 연산자 (Bitwise Operator)

비트 연산자는 2진수 문자열 피연산자에 대해 비트단위의 연산 작업을 수행한다.

 

Operator Description
& AND 연산
| OR 연산
~ 보수 연산
^ XOR 연산
<< 비트 왼쪽 시프트 연산
>> 비트 오른쪽 시프트 연산

 

& 연산자

  • & 연산자는 논리 연산자의 and와 같다.
  • 둘 다 모두 True일때 결과값이 참.
  • 같은 자리에 있는 수들만 비교하면 된다.
0b1100 & 0b1001 = 0b1000

 

| 연산자

  • | 연산자는 논리 연산자의 or과 같다.
  • | 연산자는 두 수중 적어도 하나만 1이면 1을 반환한다.
0b1100 | 0b1001 = 0b1101

 

~ 연산자

  • ~ 연산자는 논리 연산자의 not과 같다.
  • ~ 연산자는 모든 비트를 반전시킨다.
  • 앞 자리의 0은 생략 할 수 있다.
~0b1100 = 0b0011 = 0b11

 

^ 연산자

  • ^ 연산자는 논리 연산자의 xor과 같다.
  • 두 수가 서로 다른 값을 가질 때 1을 반환한다.
0b1100 ^ 0b1001 = 0b0101

 

 

shift 연산자

  • 시프트 연산자는 비트단위 계산에서 오른쪽, 왼쪽으로 수를 옮길 수 있다.
  • 시프트 연산자는 왼쪽으로 한 칸 이동할 때 마다 2배가 된다.
  • n << m : n * 2의 m승
  • n >> m : n / 2의 m승

 

 

 

 

a = 0b0010

bin(a<<1) = 0b100
bin(a>>1) = 0b1

 

728x90

'Python' 카테고리의 다른 글

[Python] 문자열 공백 제거 replace, lstrip, rstrip, strip  (0) 2022.04.11
[Python] for, range  (0) 2022.04.10
[Python] map 함수  (0) 2022.04.09
[Python] 문자열 포맷팅(%, format, f-string)  (0) 2022.04.07
[Python] Python 파이썬이란  (0) 2022.04.06

+ Recent posts