본문 바로가기
개발과 기술

[Python] 쉬운 n진법 to 10진법 변환

by growd 2018. 9. 20.

    Python 쉬운 n진법 변환  

 

 

Python 으로 n진법의 수를 10진법으로 변환한다고 생각해봅시다.

 

아마 대부분 아래와 비슷한 코드를 생각할 것입니다.

# 변환 대상 숫자
target_number = '9983'
# n진법의 n
base_number = 5

# 리턴할 결과값 준비
result = 0
# string으로 구성된 변환 대상 숫자를 인덱스와 한자리씩 거꾸로 iterate
for idx, val in enumerate(target_number[::-1]):
    # n진법의 base를 해당 iterate의 index로 승하고 그 값을 iterate의 값에 곱한뒤 result에 더해줌
    result += int(val) * (pow(base_number, idx))

print(result)

 

 

 

파이썬의 간결함을 엿볼 수 있습니다.

# 변환 대상 숫자
target_number = '9983'
# n진법의 n
base_number = 5

int(target_number, int(base_number))

 

 

 

댓글