[TIL] Python: Bit manipulation

Jene Hojin Choi·2021년 4월 14일
0

Python

목록 보기
5/6
post-thumbnail

Bit manipulation

컴퓨터는 bit이라는 이진수로 모든 정보를 저장한다. 정보는 줄글이건, 이미지건, 비디오건 상관 없이 무조건 0과 1로 이루어져있다. 파이썬의 bitwise operator를 알게 된다면, 아주 작은 단위의 개별적인 데이터까지 관리할 수 있게 될 것이다.

Bitwise Operators

Overview

Bitwise logical operator

비트 논리 연산자라고 불린다. 이 연산자로 boolean 로직을 사용할 수 있고, 실제로 boolean에 같은 방식으로 사용할 수 있다.

if age >= 18 and not is_self_excluded:
if age >= 18 & ~ is_self_excluded:
둘은 같다!!

아래에서 비트 논리 연산자에는 어떤 것들이 있는지 살펴보자.

Bitwise AND


AND operator: 같은 위치에 있는 두 숫자 중 0이 한개라도 있는 경우에는 결과값이 0, 1만 있는 경우는 결과값이 1이 된다.

Bitwise OR


OR operator: 같은 위치에 있는 두 숫자 중 1이 한개라도 있는 경우에는 결과값이 1, 0만 있는 경우는 결과값이 0이 된다.

Bitwise XOR


XOR operator: 같은 자리에 있는 두 숫자가 다른 경우에는 1, 같은 경우에는 0이 된다.

Bitwise NOT


NOT operator: 0은 1로, 1은 0으로 뒤바뀐다고 생각하면 된다.

Bitwise shift operators

Left Shift

Right Shift

Bit <-> Int

>>> bin(42)
'0b101010'

>>> int("101010", 2)
42

Reference

https://realpython.com/python-bitwise-operators/

0개의 댓글