[Python] 10진수->2진수 변환

rhkr9080·2023년 6월 24일
0

Python

목록 보기
2/2

🍺 십진수->이진수 변환

  1. 반복문을 사용한 변환
# 재귀로 구현하면 더 쉽지 않을까??
def dec2bin(number):
    bin = []
    while number != 0:
        if number % 2 == 0:
            bin.append("0")
            number = number // 2
        else:
            bin.append("1")
            number = number // 2
    bin.reverse()
    return bin
  1. 재귀를 사용한 변환
# C언어 방식의 구현??
def dec2bin_recur(number):
    if (number == 0):
        return "0"
    elif (number == 1):
        return "1"
    
    if (number % 2 == 0):
        return dec2bin_recur(number // 2) + "0"
    else :
        return dec2bin_recur(number // 2) + "1"
        
list(dec2bin_recur(N))
  1. 재귀를 사용한 변환 두번째!
def dec2bin_recur_two(number):
    if number//2 == 0:
        return str(number%2)
    return dec2bin_recur_two(number//2) + str(number%2)
    
list(dec2bin_recur_two(N))

📌 memo

list 역순정렬

my_list = [1,2,3,4,5,6,7,8]
# [A:B] : A번째 인덱스부터 B번째 인덱스까지 slice
# [::N] : N 간격으로 다시 slice
my_list = mylist[::-1]

ref)
재귀 - https://aigong.tistory.com/310
str() - https://billnairk.tistory.com/99
list() - https://duck-tube.tistory.com/1

profile
공부방

0개의 댓글