🛠️ToolsShed

Number Base Converter

2진수, 8진수, 10진수, 16진수 간 숫자 변환.

10진수(Base 10)
2진수(Base 2)
8진수(Base 8)
16진수(Base 16)

진법 변환기는 컴퓨팅에서 가장 흔히 접하는 네 가지 수 체계 간에 정수 값을 변환합니다: 10진수(base 10), 2진수(base 2), 8진수(base 8), 16진수(base 16). 각 시스템은 다른 자릿수 집합을 사용하여 같은 값을 나타내며 특정 맥락에서 선호됩니다 — 하드웨어에서는 2진수, 메모리 주소와 색상 코드에서는 16진수, 일상 산술에서는 10진수.

네 개의 필드 중 어느 하나에 숫자를 입력하면 도구가 즉시 나머지 세 개를 채웁니다. 2진수 출력은 가독성을 위해 니블(4비트) 단위로 그룹화되고, 16진수 출력은 대문자로 표시됩니다.

진법 변환 이해는 RGB 색상 코드 읽기, Unix 파일 권한 해석, 비트 연산 작업, 메모리 덤프나 디스어셈블된 코드 읽기에 기본입니다. 이 도구는 산술을 즉시 처리하므로 로직에 집중할 수 있습니다.

자주 묻는 질문

코드 구현

# Python: built-in base conversion

# Decimal → other bases
n = 255
print(bin(n))   # '0b11111111'   (binary)
print(oct(n))   # '0o377'        (octal)
print(hex(n))   # '0xff'         (hex)

# Other bases → decimal using int(string, base)
print(int("ff", 16))        # 255  (hex → decimal)
print(int("11111111", 2))   # 255  (binary → decimal)
print(int("377", 8))        # 255  (octal → decimal)

# Arbitrary base → decimal (base 36 example)
print(int("z", 36))         # 35

# Decimal → arbitrary base string
def to_base(n: int, base: int) -> str:
    digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    if n == 0:
        return "0"
    result = []
    while n:
        result.append(digits[n % base])
        n //= base
    return "".join(reversed(result))

print(to_base(255, 16))   # FF
print(to_base(255, 2))    # 11111111

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.