N진수에 N은 등장하지 않는다!

 

1. 2/8/16진법 -> 10진법

print(int('0b1010', 2)) # 10
print(int('0o'))

2. 10진법 -> 2/8/16진법

b = bin(10) # '0b1010'
o = oct(18) # '0o22'
h = hex(33) # '0x21'

 


3. 10진법 -> N진법


3-1. 재귀함수

import string
def convert_notation(number:int, base:int)->int:
    base_num = string.digits + string.ascii_uppercase
    q, r = divmod(number, base)
    if q:
        return convert_notation(q, base) + number[r]
    else:
        number[r]

3-2. 반복문

import string
def convert_notation(number:int, base:int)->int:
    base_num = string.digits + string.ascii_uppercase
    converted = ''
    if number < n:
        return base_num[number]
    else:
        while number >= base:
            number, r  = divmod(number, base)
            converted += base_num[r]
        converted += base_num[number]
    return converted[::-1]

'Python 활용하기' 카테고리의 다른 글

[Algorithm] LIS(Longest Increase Sequence)  (0) 2023.01.12
시간복잡도 생각하기 (지속 업데이트)  (0) 2022.11.27
소수 (Prime Number)  (0) 2022.09.27
정규 표현식  (0) 2022.09.26
순열과 조합  (0) 2022.09.07

+ Recent posts