비트 연산자 사용하기
컴퓨터는 2진수(0과 1)를 사용하므로 대부분의 프로그래밍 언어는 2진수를 다루는 연산자를 제공합니다. 그런데 2진수로 변환하는 방법을 잘 모른다면 어떻게 해야 할까요? 걱정하지 않아도 됩니다. 파이썬에서는 간단하게 2진수와 10진수를 서로 변환할 수 있습니다.
10진수와 2진수 변환하기
10진수를 2진수로 된 문자열로 변환할 때는 bin을 사용합니다. 반대로 2진수에서 10진수로는 입력 즉시 변환됩니다.
- bin(정수)
bin(13) # 10진수 13을 2진수로 변환
# '0b1101'
0b1101 # 2진수 1101을 10진수로 변환
# 13
만약 2진수가 문자열 형태라면 int에 문자열과 2를 지정하여 10진수로 변환할 수 있습니다. 그리고 코드에서 2진수를 직접 입력할 때는 맨 앞에 0b를 붙입니다(binary의 b).
만약 2진수가 문자열 형태라면 int에 문자열과 2를 지정하여 10진수로 변환할 수 있습니다. 그리고 코드에서 2진수를 직접 입력할 때는 맨 앞에 0b를 붙입니다(binary의 b).
- int('2진수문자열', 2)
int('1101', 2) # 2진수로 된 문자열 1101을 10진수로 변환
# 13
비트 논리 연산자 사용하기
이제 2진수의 각 자릿수를 AND, OR, XOR, NOT 연산을 하는 비트 논리 연산자를 사용해보겠습니다.
- a & b
- a | b
- a ^ b
- ~x
>>> bin(0b1101 & 0b1001) # 비트 AND
'0b1001'
>>> 13 & 9 # 비트 AND
9
>>> bin(0b1101 | 0b1001) # 비트 OR
'0b1101'
>>> 13 | 9 # 비트 OR
13
>>> bin(0b1101 ^ 0b1001) # 비트 XOR
'0b100'
>>> 13 ^ 9 # 비트 XOR
4
>>> bin(~0b1101) # 비트 NOT
'-0b1110
>>> ~13 # 비트 NOT
-14
'Engineering WIKI > Python' 카테고리의 다른 글
파이썬 리스트 컴프리헨션 (0) | 2022.05.04 |
---|---|
Python 데코레이터 (0) | 2022.05.02 |
파이썬 __ slots __ (0) | 2022.04.28 |
파이썬 property(), @property (0) | 2022.04.25 |
파이썬 정렬 함수 (rjust, ljust, zfill) (0) | 2022.04.20 |
[Python] 파이썬 인스턴스 메서드 / 정적 메서드 / 클래스 메서드 (0) | 2022.04.12 |
알고리즘 INPUT값 TXT 파일로 입력하기 (Feat. VSC) (0) | 2022.04.07 |
Class Advanced (0) | 2022.04.06 |