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))
'개발과 기술' 카테고리의 다른 글
[Python] virtualenvwrapper에서 가상환경 리스트 하는 방법 (0) | 2018.09.24 |
---|---|
[Python] Python Django Template에서 slice 하는 방법 (0) | 2018.09.24 |
[HTML, CSS] a 태그 밑줄 없애는 방법 (0) | 2018.09.24 |
[Python] @property (0) | 2018.09.11 |
[컴퓨터 구조] 컴퓨터 명령어 (2) | 2018.09.05 |
댓글