파이썬 N진법 변환

2022. 9. 15. 12:01·python/자료구조 & 알고리즘
728x90
반응형

Pyhton 진법 변환

n진수 → 10진수

* 결과값은 모두 string 입니다.

python에서는 기본적으로 int() 라는 함수를 지원한다

int(string, base)

위와 같은 형식으로 사용. base에는 진법을 넣으면 된다.

print(int('101',2))
print(int('202',3))
print(int('303',4))
print(int('404',5))
print(int('505',6))
print(int('ACF',16))

20
51
104
185
2767

10진수로 변경이 가능하다.

10진수 → 2, 8, 16진수

2, 8, 16진수는 bin(), oct(), hex() 함수를 지원한다.

print(bin(11))
print(oct(11))
print(hex(11))

0b1011
0o13
0xb

0b는 2진수, 0o는 8진수, 0x는 16진수를 의미합니다. 진법 표시를 지울려면 [2:]를 하면 된다.

print(bin(11)[2:])
print(oct(11)[2:])
print(hex(11)[2:])

1011
13
b


10진수 → n진수

int 같은 함수가 없기 때문에 코드작성이 필요하다

def solution(n, q):
    rev_base = ''

    while n > 0:
        n, mod = divmod(n, q)
        rev_base += str(mod)

    return rev_base[::-1] 
    # 역순인 진수를 뒤집어 줘야 원래 변환 하고자하는 base가 출력
    
print(solution(45, 3))

1200


n진수 → n진수

위에 썻던것들을 활용해서 n진수를 10진수로 변경하고 다시 n진수로 변경하면 됩니다.

print(solution(int('c',16),4)) # 16진수인 C를 4진수로 바꾸는것
print(solution(int('4',6),3))  # 6진수인 4를 3진수로 바꾸는것
print(solution(int('21',3),7)) # 3진수인 21을 7진수로 바꾸는것
print(solution(int('15',9),5)) # 9진수인 15를 5진수로 바꾸는것

30
11
10
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

728x90
반응형

'python > 자료구조 & 알고리즘' 카테고리의 다른 글

[알고리즘] 미로 찾기 - BFS, DFS  (1) 2022.10.11
[Python] Re 모듈 re.split() 으로 문자열 패턴으로 분리하기  (0) 2022.10.02
[알고리즘] 백트래킹 (backtracking) - n-Queens 문제 구현 / 파이썬 Python  (0) 2022.09.02
[알고리즘] 백트래킹(backtracking) 알고리즘 / 파이썬 Python  (0) 2022.09.01
원형 큐 - 모듈 없이 구현  (0) 2022.08.24
'python/자료구조 & 알고리즘' 카테고리의 다른 글
  • [알고리즘] 미로 찾기 - BFS, DFS
  • [Python] Re 모듈 re.split() 으로 문자열 패턴으로 분리하기
  • [알고리즘] 백트래킹 (backtracking) - n-Queens 문제 구현 / 파이썬 Python
  • [알고리즘] 백트래킹(backtracking) 알고리즘 / 파이썬 Python
sillon
sillon
꾸준해지려고 합니다..
    반응형
  • sillon
    sillon coding
    sillon
  • 전체
    오늘
    어제
    • menu (615)
      • notice (2)
      • python (68)
        • 자료구조 & 알고리즘 (23)
        • 라이브러리 (19)
        • 기초 (8)
        • 자동화 (14)
        • 보안 (1)
      • coding test - python (301)
        • Programmers (166)
        • 백준 (76)
        • Code Tree (22)
        • 기본기 문제 (37)
      • coding test - C++ (5)
        • Programmers (4)
        • 백준 (1)
        • 기본기문제 (0)
      • 공부정리 (139)
        • 신호처리 시스템 (0)
        • Deep learnig & Machine lear.. (41)
        • Data Science (18)
        • Computer Vision (17)
        • NLP (40)
        • Dacon (2)
        • 모두를 위한 딥러닝 (강의 정리) (4)
        • 모두의 딥러닝 (교재 정리) (9)
        • 통계 (3)
      • HCI (23)
        • Haptics (7)
        • Graphics (11)
        • Arduino (4)
      • Project (21)
        • Web Project (1)
        • App Project (1)
        • Paper Project (1)
        • 캡스톤디자인2 (17)
        • etc (1)
      • OS (10)
        • Ubuntu (9)
        • Rasberry pi (1)
      • App & Web (9)
        • Android (7)
        • javascript (2)
      • C++ (5)
        • 기초 (5)
      • Cloud & SERVER (8)
        • Git (2)
        • Docker (1)
        • DB (4)
      • Paper (7)
        • NLP Paper review (6)
      • 데이터 분석 (0)
        • GIS (0)
      • daily (2)
        • 대학원 준비 (0)
      • 영어공부 (6)
        • job interview (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    소수
    programmers
    Python
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sillon
파이썬 N진법 변환
상단으로

티스토리툴바