본문 바로가기
PROGRAMMING/PYTHON

[Python] 진수 변환

by 안녕나는현서 2021. 10. 3.
728x90

10진수에서 변환

  • 내장함수 사용 (bin, oct, hex)
num = 19
print(bin(num)) # 2진수
print(oct(num)) # 8진수
print(hex(num)) # 16진수

# 0b10011
# 0o23
# 0x13

 

10진수로 변환

  • 내장함수 사용 (int)
print(int('0b10011', 2)) # 2진수
print(int('0o23', 8))    # 8진수
print(int('0x13', 16))   # 16진수

 

직접 함수로 만들어서 구현하기

def dec_to_base_x(num, base):
    result = []

    while num:
        result.append(num%base)
        num //= base
    
    return ''.join(map(str, result[::-1]))
    
num = 19

print(dec_to_base_x(num, 2))
print(dec_to_base_x(num, 3))
print(dec_to_base_x(num, 8))
print(dec_to_base_x(num, 16))

# 10011
# 201
# 23
# 13
728x90

'PROGRAMMING > PYTHON' 카테고리의 다른 글

[Python] 문자열 관련 함수  (0) 2022.01.10
[Python] 2차원 배열, 딕셔너리 정렬  (0) 2021.10.08
[Python] 비트 연산자  (0) 2021.08.22
[Python] 2차원 배열  (0) 2021.08.22
[Python] packing과 unpacking  (0) 2021.08.16

댓글