
파이썬에서는 십진수와 이진수 간 변환이 매우 간단합니다. 이 문서에서는 십진수를 이진수로 변환하는 방법과 반대로 이진수를 십진수로 변환하는 방법을 쉽게 설명하겠습니다.
🔹 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 없이 변환 가능합니다.
✅ 직접 변환 함수를 만들어볼 수도 있습니다.
'IT > Python Basic' 카테고리의 다른 글
[Python] 초급 개념11+ - 문자열 출력과 조작 특집 (0) | 2025.03.31 |
---|---|
[Python] 특집 - lambda 함수 활용법 (0) | 2025.03.19 |
[python] 파이썬 isdigit() 함수 완벽 가이드 (0) | 2025.03.19 |
[Python] 특집 - range() 함수로 리스트 다루기 (0) | 2025.03.18 |
[Python] 초급 개념21 - 파이썬 반복문의 종류 (0) | 2025.03.18 |
[Python] 초급 개념21 - sort()와 sorted() (0) | 2025.03.14 |
[Python] 튜플, 딕셔너리, 집합 개념 정리 특집 (0) | 2025.02.28 |
[python] 문자와 ASCII/Unicode 변환 - ord()와 chr() 함수 정리 (0) | 2025.02.27 |
댓글