Конвертер систем счисления

Конвертируйте числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами.

Десятичная(Base 10)
Двоичная(Base 2)
Восьмеричная(Base 8)
Шестнадцатеричная(Base 16)

Конвертер систем счисления переводит целые числа между четырьмя наиболее распространёнными в вычислениях системами счисления: десятичной (base 10), двоичной (base 2), восьмеричной (base 8) и шестнадцатеричной (base 16). Каждая система представляет одно значение разным набором цифр и предпочтительна в конкретных контекстах.

Введите число в любое из четырёх полей — инструмент мгновенно заполнит остальные три. Двоичный вывод группирует цифры в тетрады (4 бита) для удобства чтения, а шестнадцатеричный вывод отображается в верхнем регистре.

Понимание перевода между системами счисления необходимо для чтения 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.