프로그래밍/python

파이썬 진법변환

콘파냐 2015. 8. 6. 17:03

파이썬으로 진법간 변환은 매우 간단하게 해결할 수 있습니다. 


그래도 기본적인 진법간의 변환 방법에 대한 이해가 필요합니다. 


진법간 변환을 하는 방법에 대한 이해는 다음을 살펴보길 바랍니다.



2014/05/02 - [컴퓨터구조] - 2진수를 10진수로 변환하는 방법(진수 간 변환 방법들)

2014/02/24 - [컴퓨터구조] - 10진수를 2진수로 변환하는 방법


임의의 진수를 10진수로 변환

int('x', n) : n진수 x를 10진수로 변환

x에 해당하는 수를 문자로 전달하는 것에 주의하자. n진수 ->x를 -> int(10진수)로 변환 이렇게 뒤에서부터 읽어보면 기억하기 쉽다.

주의할 점은 32진수가 초과되면 안 된다. 그렇게 사용할 일도 없겠지만 말이다.

 

10진수를 임의의 진수로 변환

파이썬에서 제공하는 함수는 10진수를 8진수로, 10진수를 16진수로 변환하는 방법이다.

이외의 10진수에서 다른 진수를 바꾸려면 먼저, 생각해야 할 점이 있다.

10진수를 x진법으로 바꾼다면 x로 나누면서 나머지를 조합해야 한다. 만약 16진수로 바꾼다면 나머지가 10이상일 경우에 대해서 처리해야 한다. 10진법 이하의 진법의 경우는 나머지가 10미만이므로 if문으로 나머지가 >9인 경우에 대해서 따로 처리하면 범용적으로 사용할 수 있게 된다.

다음은 간단한 10진법을 X진법으로 변환하는 간단한 함수다.

100을 16진수로 변환

r=chr(ord('a')+r-10) 이 부분이 나머지가 9를 초과하는 경우 나머지를 문자열로 바꾸는 처리를 하는 부분이다.

2015/07/12 - [프로그래밍/python] - 파이썬(python)의 형변환

나머지 부분은 이해하기 쉽다.

반응형