반응형
비트 연산자
: 이진수(bit)로 표현한 숫자에 대해 비트 단위로 연산을 수행하는 연산자
1. AND ('&')
두 비트가 모두 1일때 결과가 1이 된다, 하나라도 0이면 0이다.
a=13 # 1101
b=11 # 1011
print(a&b) #1001
a | 1 | 1 | 0 | 1 |
b | 1 | 0 | 1 | 1 |
a & b | 1 | 0 | 0 | 1 |
위 표를 보면 이진수의 비교를 쉽게 이해할 수 있다. 첫번째 비트 연산자여서 표를 작성해 보았다
2. OR ('|')
두 비트중 하나라도 1이면 결과는 1이다. 둘다 0이면 0이다.
a = 13 #1101
b = 11 #1011
print(a|b) #1111
3. XOR ('^')
두 비트가 서로 다르면 1, 같으면 0이다.
a = 13 # 1101
b = 11 # 1011
print(a ^ b) # 0110
4. 비트 NOT ('~')
not은 따로 다루겠다.
5. 왼쪽 시프트 ('<<')
왼쪽으로 지정된 수만큼 이동시킨다. 오른쪽에는 0이 채워진다. / 곰셈과 비슷하다.
한비트 이동할때마다 숫자가 2배씩 증가한다.
a = 11 # 1011
print(a<<2) #101100 44
6. 오른쪽 시프트 ('>>')
이 주제는 다른 글에서 다루겠다.
참고
not, 오른쪽 시프트는 내용이 길어질 것같아서 다른 글에서 다루겠다.
끝
반응형
'python > python' 카테고리의 다른 글
[python] join (2) | 2024.08.12 |
---|---|
[python] 비트 연산자-오른쪽 시프트 (0) | 2024.08.10 |
[python] 서버와 통신하는 방법(pwn) (1) | 2024.06.18 |
[python] python에서 원격 서버 연결하기 (0) | 2024.05.26 |
[python] 리눅스에서 python 실행 (0) | 2024.05.26 |