이진수<-> 십진수 변환

Leejaegun·2025년 3월 12일

코딩테스트 시리즈

목록 보기
5/49

이진수, 십진수 변환

1️⃣ 십진수 → 이진수 (bin())

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를 제거하고 순수한 이진수 값만 가져오기

2️⃣ 이진수 → 십진수 (int())

binary_str = "1010"
decimal = int(binary_str, 2)  # 2진수를 10진수로 변환
print(decimal)  # 출력: 10int(이진수 문자열, 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)

3️⃣ 그외 진수

oct() : 팔진수
hex() : 십육진수

4️⃣ 나머지는 직접구현해야함

from decimal_to_base(n,base):
	if n == 0:
    	return "0"
    result = ""
    while n > 0:
    	result = str(n % base) + result
       	n //= base
    return result
profile
Lee_AA

0개의 댓글