Калькулятор систем счисления

Преобразование целого числа в двоичную, восьмеричную, десятичную и шестнадцатеричную системы.

Введите десятичное целое число, которое вы хотите преобразовать.

Двоичное значение

11111111

Восьмеричная377
Десятичная255
ШестнадцатеричнаяFF

Как пользоваться этим калькулятором систем счисления

  1. Введите целое число

    Введите неотрицательное целое число в поле «Целое число» (например, 255 или 4096).

  2. Посмотреть двоичное значение

    Результат в двоичной системе отображает представление по основанию 2.

  3. Проверить восьмеричную и шестнадцатеричную системы

    Ознакомьтесь с восьмеричными и шестнадцатеричными результатами для компактного представления.

  4. Проверить десятичное значение

    Десятичный вывод подтверждает исходное значение для перекрестной проверки.

Методология

Как работает этот калькулятор систем счисления

Этот калькулятор систем счисления принимает целое число в десятичной системе (основание 10) и представляет его в двоичной (основание 2), восьмеричной (основание 8) и шестнадцатеричной (основание 16) — четырех системах счисления, наиболее часто используемых в вычислениях. Каждая позиционная система счисления работает одинаково: каждая позиция цифры представляет собой последовательную степень основания, а значение числа — это сумма каждой цифры, умноженной на ее позиционный вес. Преобразование между системами счисления является фундаментальной операцией в низкоуровневом программировании, проектировании цифровой логики, сетевой инженерии (адреса MAC и IPv6), цветовых кодах в CSS, масках прав доступа к файлам в Unix и проверке адресов памяти при отладке.

Формула
Последовательное деление: разделите N на целевое основание R, запишите остаток, повторите с частным, пока оно не достигнет 0, затем прочитайте остатки в обратном порядке
N Входное целое число в десятичной системе (основание 10)
R Целевое основание (2 для двоичной, 8 для восьмеричной, 16 для шестнадцатеричной)
частное Результат целочисленного деления N ÷ R на каждом шаге; становится новым N для следующей итерации
остаток N mod R на каждом шаге — становится одной цифрой результата преобразования (0–1 для двоичной, 0–7 для восьмеричной, 0–F для шестнадцатеричной)
результат Остатки, прочитанные от последнего к первому, образуют число в целевой системе счисления
Пример

Преобразование десятичного числа 255 в двоичную, восьмеричную и шестнадцатеричную системы. Для двоичной (R = 2): 255 ÷ 2 = 127 остаток 1, 127 ÷ 2 = 63 ост. 1, 63 ÷ 2 = 31 ост. 1, 31 ÷ 2 = 15 ост. 1, 15 ÷ 2 = 7 ост. 1, 7 ÷ 2 = 3 ост. 1, 3 ÷ 2 = 1 ост. 1, 1 ÷ 2 = 0 ост. 1. Читая остатки снизу вверх: 11111111. Для восьмеричной (R = 8): 255 ÷ 8 = 31 ост. 7, 31 ÷ 8 = 3 ост. 7, 3 ÷ 8 = 0 ост. 3 → 377. Для шестнадцатеричной (R = 16): 255 ÷ 16 = 15 ост. 15 (F), 15 ÷ 16 = 0 ост. 15 (F) → FF.

Десятичное 4096 → двоичное 1000000000000, восьмеричное 10000, шестнадцатеричное 1000. Полезно для понимания того, что 4 КиБ = 4096 байт.

Десятичное 15 → двоичное 1111, восьмеричное 17, шестнадцатеричное F. Каждая шестнадцатеричная цифра соответствует ровно четырем битам; F = 1111.

Допущения
  • Входные данные должны быть неотрицательным целым числом (ноль или положительное целое). Дробные значения и отрицательные числа требуют расширенных алгоритмов (например, дополнительный код для знаковых двоичных чисел), которые выходят за рамки данного инструмента.
  • Шестнадцатеричные цифры больше 9 обозначаются заглавными буквами A–F в соответствии с соглашениями большинства языков программирования, RFC и документации к оборудованию.
  • Ведущие нули в выводе опускаются. Для представлений фиксированной ширины (например, 8-битных или 32-битных двоичных чисел) дополните результат вручную до нужной ширины.
  • Калькулятор принимает только неотрицательные целые числа. Значения выше 2^53 − 1 (Number.MAX_SAFE_INTEGER в JavaScript) отклоняются, чтобы отображаемые цифры оставались точными.
Примечания
  • Каждая шестнадцатеричная цифра соответствует ровно четырем двоичным цифрам (битам), а каждая восьмеричная цифра — ровно трем битам. Эта взаимосвязь позволяет быстро переводить числа между шестнадцатеричной, восьмеричной и двоичной системами в уме, если запомнить 16 комбинаций нибблов.
  • Полезные значения для запоминания: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4 294 967 295 (максимальное 32-битное целое число без знака).
  • Права доступа к файлам Unix используют восьмеричную систему: 755 означает rwxr-xr-x (чтение/запись/выполнение для владельца, чтение/выполнение для группы и остальных). Каждая восьмеричная цифра кодирует три бита прав доступа.
  • Шестнадцатеричные коды цветов CSS — это три последовательных байтовых значения, представляющих каналы красного, зеленого и синего цветов. Например, #FF8800 — это 255 красного, 136 зеленого и 0 синего.
Источники
  1. Теория позиционных систем счисления — Кнут Д. Э., Искусство программирования, Том 2: Получисленные алгоритмы, раздел 4.1
  2. IEEE 754-2019 — Стандарт арифметики с плавающей запятой (в контексте представления целых чисел)
  3. RFC 4291 — Архитектура адресации IP версии 6 (шестнадцатеричная нотация для IPv6)

Понимание систем счисления в вычислениях

Каждая позиционная система счисления использует основание (radix) и присваивает каждой цифре вес в зависимости от ее позиции. В десятичной системе (основание 10) крайняя правая цифра — это единицы, следующая — десятки, затем сотни. Двоичная система (основание 2) использует только 0 и 1, что напрямую соответствует состояниям транзистора «включено/выключено». Восьмеричная система (основание 8) группирует по три бита на цифру, а шестнадцатеричная (основание 16) — по четыре бита, используя A–F для значений 10–15. Перевод между системами осуществляется методом последовательного деления: число делится на целевое основание, записывается остаток, процесс повторяется с частным до нуля, после чего остатки считываются в обратном порядке. Этот алгоритм лежит в основе любого преобразования систем счисления в программировании.

Практические сценарии использования преобразования систем счисления для разработчиков

Разработчики используют преобразование систем счисления при анализе дампов памяти, отладке побитовых операций, интерпретации прав доступа к файлам и работе с цветовыми кодами. Права доступа в Unix (например, 755) являются восьмеричными: каждая цифра кодирует чтение/запись/выполнение для владельца, группы и остальных. Цвета CSS в формате hex, такие как #FF8800, представляют собой три последовательных байта в шестнадцатеричной системе. Адреса IPv6 записываются в hex. Битовые маски и флаги часто выражаются в hex для удобства чтения (0xFF для маски байта, 0xFFFF для 16 бит). При отладке низкоуровневого кода или сетевых протоколов перевод между десятичной, шестнадцатеричной и двоичной системами позволяет быстро увидеть структуру битов.

Часто задаваемые вопросы о калькуляторе систем счисления

Почему в вычислениях используются двоичная, восьмеричная и шестнадцатеричная системы?

Двоичная система напрямую соответствует состояниям транзисторов «включено/выключено», являясь родным языком оборудования. Восьмеричная и шестнадцатеричная системы — это компактные сокращения для двоичной: одна шестнадцатеричная цифра представляет ровно четыре бита, а одна восьмеричная — три бита. Программисты используют их для более краткой записи адресов, битовых масок и цветовых кодов.

Как выполнить преобразование в обратном направлении (например, из шестнадцатеричной в десятичную)?

Умножьте каждую цифру на основание системы в соответствующей степени и сложите результаты. Например, шестнадцатеричное 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 в десятичной системе.

Что происходит с очень большими числами?

Калькулятор принимает значения только до предела безопасных целых чисел JavaScript: 2^53 − 1 (9 007 199 254 740 991). Числа большего размера отклоняются, так как в браузере они могут потерять младшие разряды.

Можно ли конвертировать отрицательные числа или дроби?

Этот инструмент работает с неотрицательными целыми числами. Отрицательные целые числа в вычислениях обычно представляются с использованием дополнительного кода в фиксированной разрядности, а дробные значения используют кодировку с плавающей запятой IEEE 754 — оба варианта требуют дополнительных параметров, которые этот калькулятор не собирает.

Почему префикс 0x появляется в коде, но не в результате?

Префикс 0x (а также 0b для двоичной и 0o для восьмеричной системы) — это синтаксис литералов конкретного языка, указывающий компилятору или интерпретатору ожидаемое основание системы счисления. Калькулятор выводит строку цифр без префикса, чтобы её можно было использовать в любом контексте.

Автор Ян Крженек Основатель и ведущий разработчик
Проверено Обзор методологии DigitSum Проверка формул и контроль качества
Последнее обновление 10 мар. 2026 г.

Используйте это как оценку и подтверждайте важные решения у квалифицированного специалиста.

Введенные данные остаются в браузере, если только будущие функции явно не сообщат об обратном.