728x90
N진수 -> 10진수
int 함수의 2번째 인자를 활용해서 N 진수의 문자열을 정수형(int) 숫자로 형변환할 수 있다.
# 2진수 문자열 -> 10진수 정수로 변경
int('문자', 2)
# 8진수 문자열 -> 10진수 정수로 변경
int('문자', 8)
# 16진수 문자열 -> 10진수 정수로 변경
int('문자', 16)
10진수 -> 2, 8, 16진수
# 10진수 -> 8진수 문자열
oct(11)
# 0o13
# 10진수 -> 16진수 문자열
hex(11)
# 0xb
# 10진수 -> 2진수 문자열
bin(11)
# 0b1011
10진수 -> N진수
10진수에서 2, 8, 16진수 외의 다른 진법으로 변환은 코드 작성이 필요하다.
def solution(n, q):
rev_base = ''
while n > 0:
n, mod = divmod(n, q)
rev_base += str(mod)
return rev_base[::-1]
# 역순인 진수를 뒤집어 줘야 원래 변환 하고자하는 base가 출력
print(solution(45, 3))
# 1200
N진수 -> N진수
위의 코드를 활용하여 N진수를 10진수로 변경한 후, 다시 N진수로 변경
print(solution(int('c',16),4)) # 16진수인 C를 4진수로 바꾸는것
# 30
print(solution(int('4',6),3)) # 6진수인 4를 3진수로 바꾸는것
# 11
print(solution(int('21',3),7)) # 3진수인 21을 7진수로 바꾸는것
# 10
print(solution(int('15',9),5)) # 9진수인 15를 5진수로 바꾸는것
# 24
728x90
'PYTHON' 카테고리의 다른 글
[PYTHON] 정규표현식 조건 표현식 (0) | 2024.04.05 |
---|---|
[PYTHON] 정규표현식 메타 문자 (0) | 2024.04.05 |
[PYTHON] 문자/숫자인지 확인하기 - isalpha, isdigit, isalnum (0) | 2024.03.02 |
[PYTHON] 분수 표현, 사칙연산 - Fraction (0) | 2024.02.22 |
[PYTHON] 리스트 중복 제거 & 순서 유지 (0) | 2024.02.13 |