num = 10
binary = bin(num) # '0b1010'
binary_str = bin(num)[2:] # '1010' (앞의 '0b' 제거)
print(binary) # 출력: 0b1010
print(binary_str) # 출력: 1010
✔ bin(n) → n을 이진수 문자열(0b 접두어 포함)로 변환
✔ bin(n)[2:] → 0b를 제거하고 순수한 이진수 값만 가져오기
binary_str = "1010"
decimal = int(binary_str, 2) # 2진수를 10진수로 변환
print(decimal) # 출력: 10
✔ int(이진수 문자열, 2) → 이진수를 십진수로 변환
📌 예제 (양방향 변환)
n = 25
binary = bin(n)[2:] # 10진수 → 2진수
decimal = int(binary, 2) # 2진수 → 10진수
print(f"십진수: {n}") # 2
print(f"이진수: {binary}") # 11001
print(f"변환된 십진수: {decimal}") # 25 (정확히 원래 값)
| 변환 | 함수 |
|---|---|
| 십진수 → 이진수 | bin(n)[2:] |
| 이진수 → 십진수 | int(binary_str, 2) |
oct() : 팔진수
hex() : 십육진수
from decimal_to_base(n,base):
if n == 0:
return "0"
result = ""
while n > 0:
result = str(n % base) + result
n //= base
return result