반응형
n 진수 → 10 진수
int(string, base)
위의 방법으로 바꾸면 된다.
print(int('111', 2))
print(int('222', 3))
print(int('333', 4))
print(int('444', 5))
print(int('555', 6))
print(int('666', 7))
print(int('777', 8))
print(int('ABC', 16))
10 진수 → 2, 8, 16 진수
2진수 - bin()
8진수 - oct()
16진수 - hex()
print(bin(16))
print(oct(16))
print(hex(16))
위 처럼 결과값이 나오며
진수의 결과값만 얻고 싶다면
print(bin(16)[2:])
print(oct(16)[2:])
print(hex(16)[2:])
10진수 → n 진수
위의 2, 8, 16 진수는 제공되는 함수가 있지만
그 외의 진법들은 직접 변환하여 주어야 한다.
import string
tmp = string.digits + string.ascii_lowercase
def convert_10_to_n(num, base):
q, r = divmod(num, base)
if q == 0:
return tmp[r]
else:
return convert_10_to_n(q, base) + tmp[r]
print(convert_10_to_n(26, 3))
print(convert_10_to_n(63, 4))
print(convert_10_to_n(124, 5))
print(convert_10_to_n(215, 6))
print(convert_10_to_n(342, 7))
반응형
'Language > Python' 카테고리의 다른 글
[Python] 트리 구현 하기 (0) | 2023.04.11 |
---|---|
[Python] 리스트에 특정 값이 있는지 체크하기 (0) | 2022.10.02 |
[Python] sys.stdin.readline 입력 받기 (0) | 2022.09.30 |
[Python] reverse, reversed 차이 (0) | 2022.09.13 |
[Python] 현재 날짜 가져오기 (0) | 2022.08.08 |
댓글