진법 변환

2022. 9. 25. 01:18·Python 활용하기
728x90
반응형

N진수에 N은 등장하지 않는다!

 

1. 2/8/16진법 -> 10진법

print(int('0b1010', 2)) # 10
print(int('0o'))

2. 10진법 -> 2/8/16진법

b = bin(10) # '0b1010'
o = oct(18) # '0o22'
h = hex(33) # '0x21'

 


3. 10진법 -> N진법


3-1. 재귀함수

import string
def convert_notation(number:int, base:int)->int:
    base_num = string.digits + string.ascii_uppercase
    q, r = divmod(number, base)
    if q:
        return convert_notation(q, base) + number[r]
    else:
        number[r]

3-2. 반복문

import string
def convert_notation(number:int, base:int)->int:
    base_num = string.digits + string.ascii_uppercase
    converted = ''
    if number < n:
        return base_num[number]
    else:
        while number >= base:
            number, r  = divmod(number, base)
            converted += base_num[r]
        converted += base_num[number]
    return converted[::-1]

'Python 활용하기' 카테고리의 다른 글

[Algorithm] LIS(Longest Increase Sequence)  (0) 2023.01.12
시간복잡도 생각하기 (지속 업데이트)  (0) 2022.11.27
소수 (Prime Number)  (0) 2022.09.27
정규 표현식  (0) 2022.09.26
순열과 조합  (1) 2022.09.07
'Python 활용하기' 카테고리의 다른 글
  • 시간복잡도 생각하기 (지속 업데이트)
  • 소수 (Prime Number)
  • 정규 표현식
  • 순열과 조합
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • ML_DL (39)
        • MUJAKJUNG (무작정 시리즈) (18)
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
진법 변환
상단으로

티스토리툴바