파이썬의 기본 자료형인 int, float 등의 숫자는 보통 10진법으로 표기된다.
2진법 숫자를 사용하고 싶을 때는 문자열로 표기할 수 있다.
2진수 문자열 다루는 법
- 2진법 숫자 표기 앞에 0b라는 표현을 붙여 '0b101'이라고 하면 5를 이진법으로 표현한 것과 동일하다.
- 문자열은 int(문자열, n진수)로 변환하여 연산할 수 있다.
bin1 = "101"
int(bin1) # 101
int(bin1, 2) # 5
- 2진수 더하는 법
bin1 = "10"
bin2 = "11"
addition = int(bin1,2)+int(bin2, 2) # 5
type(addition) # <class 'int'>
bin(addition) # '0b101'
bin(addition)[2:] # '101'
type(bin(addition)) # <class 'str'>
- 일치관계를 확인할 땐, 문자열이 아닌 이진수 표현법으로 확인 가능하다.
5 == "0b101" # False
5 == 0b101 # True
이진수끼리 비교 계산하는 방법
- 이진수에 대한 비교 operation은 십진 정수에서도 가능하다.
- 따라서, 이진 형식 문자열을 int() 함수를 이용하여 변환한 다음 아래와 같이 계산해주면 된다.
# 예시
bin1 = "10"
bin2 = "11"
a = int(bin1,2)
b = int(bin2, 2)
a|b # 3
bin(a|b) # '0b11'
* | (OR) : 1과 1의 비교, 1과 0의 비교에서 1이 나오고, 0과 0의 비교에서는 0이 나온다.
* & (AND) : 1과 1의 비교에서만 1이 나오고, 1과 0의 비교, 0과 0의 비교에서는 0이 나온다.
'Programming > python' 카테고리의 다른 글
[파이썬 기초] 파이썬 연산의 모든 것! (Python Operators CheatSheet) (0) | 2023.03.11 |
---|---|
프로그래머스 머쓱이 스탬프 (입문 단계) 획득 완료!! (0) | 2023.03.09 |
2023년 3월 파이썬 문법 - 공부 기록 (0) | 2023.03.06 |
2023년 2월 파이썬 문법 - 공부 기록 (0) | 2023.03.05 |
Anaconda 가상환경에서 내가 만든 script.py 불러오는 아주 간단한 방법! (0) | 2023.02.15 |