본문 바로가기
IT/Python Basic

[Python] 특집 - 십진수와 이진수 변환

by Echinacea 2025. 3. 21.
반응형

파이썬에서는 십진수와 이진수 간 변환이 매우 간단합니다. 이 문서에서는 십진수를 이진수로 변환하는 방법과 반대로 이진수를 십진수로 변환하는 방법을 쉽게 설명하겠습니다.


 

 

🔹 1. 십진수를 이진수로 변환하는 방법

파이썬에서는 bin() 함수를 사용하면 십진수를 이진수로 변환할 수 있습니다.

 

✅ bin() 함수의 기본 문법

bin(숫자)

이 함수는 입력된 숫자를 이진수로 변환한 후 문자열로 반환합니다.

 

✅ 예제 1: 십진수를 이진수로 변환하기

num = 10
binary = bin(num)
print(binary)  # 출력: '0b1010'

📌 설명: bin(10)은 숫자 10을 이진수 1010으로 변환합니다. 앞의 0b는 이진수를 나타내는 기호입니다.

 

✅ 예제 2: 다른 숫자를 변환해 보기

num = 7
binary = bin(num)
print(binary)  # 출력: '0b111'

📌 설명: bin(7)은 숫자 7을 이진수 111로 변환합니다.


 

 

🔹 2. 이진수를 십진수로 변환하는 방법

이진수를 십진수로 변환하려면 int() 함수를 사용하면 됩니다.

 

✅ int() 함수의 기본 문법

int(이진수 문자열, 2)

이 함수는 이진수 문자열을 십진수로 변환합니다. 두 번째 인자로 2를 넣어 이진수임을 알려줘야 합니다.

 

✅ 예제 3: 이진수를 십진수로 변환하기

binary_str = "1010"
decimal = int(binary_str, 2)
print(decimal)  # 출력: 10

📌 설명: int("1010", 2)는 이진수 1010을 십진수 10으로 변환합니다.

 

✅ 예제 4: 또 다른 변환 예제

binary_str = "1001"
decimal = int(binary_str, 2)
print(decimal)  # 출력: 9

📌 설명: int("1001", 2)는 이진수 1001을 십진수 9로 변환합니다.


 

 

🔹 3. 이진수를 깔끔하게 출력하는 방법

이진수를 더 깔끔하게 출력하려면 format() 함수를 사용할 수 있습니다.

 

✅ 예제 5: format()을 사용한 변환

num = 10
binary = format(num, 'b')
print(binary)  # 출력: '1010'

📌 설명: format(10, 'b')는 10을 1010으로 변환하지만, 0b 없이 출력됩니다.

 

✅ 예제 6: 또 다른 숫자 변환

num = 5
binary = format(num, 'b')
print(binary)  # 출력: '101'

📌 설명: format(5, 'b')는 5를 101로 변환합니다.


 

 

🔹 4. 여러 숫자를 한 번에 변환하는 방법

리스트에 있는 여러 숫자를 한 번에 변환할 수도 있습니다.

 

✅ 예제 7: 리스트의 모든 숫자를 이진수로 변환하기

numbers = [1, 2, 3, 4, 5]
binary_list = [bin(n) for n in numbers]
print(binary_list)  # 출력: ['0b1', '0b10', '0b11', '0b100', '0b101']

📌 설명: 리스트의 모든 숫자를 bin()을 사용하여 이진수로 변환했습니다.


 

 

🔹 5. 사용자 정의 함수를 만들어보기

우리는 bin() 함수를 사용하지 않고 직접 십진수를 이진수로 변환하는 함수를 만들어볼 수도 있습니다.

 

✅ 예제 8: 십진수를 이진수로 변환하는 사용자 정의 함수

def decimal_to_binary(n):
    result = ""
    while n > 0:
        result = str(n % 2) + result
        n //= 2
    return result or "0"

print(decimal_to_binary(10))  # 출력: '1010'

📌 설명: 이 함수는 숫자를 2로 나누면서 나머지를 차례로 이어붙여 이진수로 변환합니다.

 

✅ 예제 9: 다른 숫자 변환하기

print(decimal_to_binary(15))  # 출력: '1111'

📌 설명: decimal_to_binary(15)는 숫자 15를 1111로 변환합니다.


 

 

🔹 6. 마무리

이번 문서에서는 십진수와 이진수를 쉽게 변환하는 다양한 방법을 살펴봤습니다.

✅ bin() 함수를 사용하여 간편하게 변환할 수 있습니다.

✅ int(문자열, 2)를 사용하면 이진수를 십진수로 변환할 수 있습니다.

✅ format(숫자, 'b')를 사용하면 0b 없이 변환 가능합니다.

✅ 직접 변환 함수를 만들어볼 수도 있습니다.

 

반응형

댓글