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 |