Python

진법 뒤집기

서영환 2024. 6. 7. 16:55

자연수 n이 주어졌을 때 k진법으로 변환 후 앞뒤로 뒤집은 뒤 10진법으로 표시

 

#k진법으로 n의 정수를 뒤집은 상태로 다시 10진법으로 노출
s_num = ''
while n >= 1 :
    s_num += str(n%k)
    n = n // k
answer = int(s_num,k)

#n을 k진법으로 노출
s_num = []
k_num = ''
while n >= 1 :
    s_num.append(n%k)
    n = n // k
s_num.reverse()
for i in s_num:
	k_num += str(i)

자료형중 int에 값을 넣으면 문자형이나 실수등은 정수형으로 표시 할 수 있다.

이때 ',' 후 k 진수를 입력하면 k진수로 이루어진 문자열을 10진수로 변환 해준다.

 

 

이밖에도 간단하게 10진수를 2,8,16 진수로 변환이 가능한데 이는 파이썬 자체에 지원하는 경우라 필요한 경우 사용하면 편하게 정수 값들을 2,8,16 진수로 사용할 수 있다

 

  • 2진수는 bin(x)
  • 8진수는 oct(x)
  • 16진수는 hex(x)

를 사용하면 된다. bin(),oct(),hex()의 경우 0bxx,0oxx,0xxx로 앞에 2자리 문슨 형식인 노출 이되는데 이를 없앤 상태에서 숫자만 노출할려면 함수명()[2:] 을 사용하면 숫자만 노출되게 된다

 

 

 

참조사이트: https://velog.io/@code_angler/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%A7%84%EC%88%98%EB%B3%80%ED%99%982%EC%A7%84%EB%B2%95-3%EC%A7%84%EB%B2%95-5%EC%A7%84%EB%B2%95-10%EC%A7%84%EB%B2%95n%EC%A7%84%EB%B2%95

 

파이썬 진수변환(2진법, 3진법, 5진법, 10진법)[n진법]

python에서는 기본적으로 int() 라는 함수를 지원한다int(string, base)2051104185276710진수로 변경이 가능하다.2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다.0b10110o130xb0b는 2진수, 0o는 8진수,

velog.io