Математика

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

Мгновенно переводите числа между двоичной, восьмеричной, десятичной и шестнадцатеричной системами счисления с наглядной разбивкой по разрядам, показывающей точный вклад каждой цифры в итоговое значение.

Этот инструмент вам помог?

Что такое Конвертер систем счисления?

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

Когда использовать этот калькулятор

  • Отладка адресов памяти и значений байтов при разработке программного обеспечения, где шестнадцатеричная запись является общепринятой.
  • Перевод шестнадцатеричных цветовых кодов в значения RGB для веб-дизайна и стилизации CSS.
  • Понимание масок подсетей IP и сетевой адресации, которые записываются в точечной двоичной или шестнадцатеричной форме.
  • Чтение кодов прав доступа к файлам Unix/Linux, например chmod 755, которые используют восьмеричную нотацию.
  • Курсы и экзамены по информатике, охватывающие системы счисления и представление данных.
  • Соревновательное программирование и низкоуровневый код, где побитовые операции записываются в двоичной или шестнадцатеричной системе.

Шаги:

  1. Введите число, которое хотите конвертировать.
  2. Выберите, в какой системе счисления это число записано сейчас (двоичной, восьмеричной, десятичной или шестнадцатеричной).
  3. Мгновенно посмотрите преобразованное значение во всех четырёх системах.
  4. Разверните разбивку по разрядам, чтобы увидеть вклад каждой цифры в итоговое значение.

Формула

Значение = Σ (цифра × основание^позиция) Позиция отсчитывается от 0 для самой правой цифры. Пример (двоичное 1011): 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11 (десятичное)

Варианты использования

  • Отладка адресов памяти и значений байтов при разработке ПО
  • Конвертация цветовых кодов между шестнадцатеричным и десятичным форматами для веб-дизайна
  • Работа с двоичными и шестнадцатеричными числами на курсах по информатике
  • Чтение кодов прав доступа к файлам Unix/Linux, записанных в восьмеричной системе
  • Понимание масок подсетей IP и сетевой адресации

Основные преимущества

  • Мгновенная одновременная конвертация между двоичной, восьмеричной, десятичной и шестнадцатеричной системами
  • Наглядная разбивка по разрядам показывает, как именно работает вычисление
  • Сразу же выявляет недопустимые цифры для выбранной системы
  • Не требуется ручное деление в столбик или повторные вычисления остатков

Советы профессионалов

  • При чтении шестнадцатеричных чисел помните, что каждая цифра равна ровно 4 битам — полезно для мысленного перевода в двоичную систему
  • Группируйте двоичные цифры по четыре справа, чтобы быстро перевести их в шестнадцатеричную вручную
  • Восьмеричные цифры группируют двоичные по три, поэтому эта система была распространена на старых 12/24-битных системах
  • Дважды проверьте, что выбранная исходная система соответствует тому, что вы действительно ввели, прежде чем доверять результату

Распространенные ошибки

  • Ввод цифр, недопустимых для выбранной системы, например '9' в двоичной или восьмеричной
  • Забывание, что шестнадцатеричные цифры A-F не зависят от регистра, но представляют фиксированные значения
  • Путаница между восьмеричной нотацией с ведущим нулём и десятичными числами в старых языках программирования
  • Предположение, что двоичные преобразования обрабатывают отрицательные числа без схемы дополнительного кода

Объяснение ключевых терминов

Радикс (основание): Другое название основания системы счисления
Позиционная запись: Система, в которой значение цифры зависит от её позиции
Бит: Одна двоичная цифра (0 или 1)
Ниббл: Группа из 4 битов, ровно одна шестнадцатеричная цифра

Связанные понятия

  • Значения цветов: шестнадцатеричный цвет, например #FF5733, — это три байта по основанию 16. Наш конвертер цветов переводит между hex, RGB, HSL и именованными форматами цветов.
  • Двоичные данные и размеры: значения байтов в hex напрямую соответствуют объёмам данных. Наш конвертер данных переводит между битами, байтами и единицами хранения.
  • Метки времени эпохи: время Unix часто отображается в десятичной и шестнадцатеричной системах. Наш конвертер меток времени Unix переводит метки времени в удобочитаемые даты и обратно.
  • Хеши: криптографические дайджесты, такие как MD5 и SHA-256, — это строки шестнадцатеричных цифр. Наш генератор хешей создаёт эти распространённые форматы хешей.
  • Кодирование: процентное кодирование в URL записывает каждый специальный символ как шестнадцатеричную escape-последовательность, например %2F. Наш кодировщик-декодировщик URL кодирует и декодирует содержимое URL.

Пример

Перевод шестнадцатеричного 2F в десятичное: 2×16¹ + 15×16⁰ = 32 + 15 = 47. В двоичной системе 47 — это 101111, а в восьмеричной — 57.

Интерпретация результатов

Конвертер показывает каждый результат в виде строки числа в выбранной системе счисления, а разбивка по разрядам раскладывает каждую цифру на цифра × основание^позиция, чтобы вы могли проверить вычисления вручную, а не доверять «чёрному ящику». Крайняя правая цифра находится в позиции 0, и её вес всегда равен 1; при движении влево вес каждой следующей позиции снова умножается на основание (так, в двоичной системе веса равны 1, 2, 4, 8…, а в шестнадцатеричной — 1, 16, 256…). Сумма всех произведений цифра × вес в точности воспроизводит десятичное значение. Ввод должен содержать только цифры, допустимые для выбранной системы счисления, — инструмент немедленно помечает любую недопустимую цифру. Обратите внимание, что инструмент обрабатывает только неотрицательные целые числа; отрицательные и дробные значения требуют дополнительного кода или представления с плавающей точкой, которые позиционный конвертер целых чисел не охватывает.

Часто задаваемые вопросы

Как перевести двоичное число в десятичное?
Умножьте каждую двоичную цифру на 2 в степени её позиции (начиная с 0 справа) и сложите результаты. Например, 1011 в двоичной системе = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11 в десятичной системе.
Почему в вычислительной технике используется шестнадцатеричная система?
Шестнадцатеричная система (основание 16) идеально сопоставляется с двоичной, поскольку каждая шестнадцатеричная цифра представляет ровно 4 бита, что делает её компактным и удобным для человека способом записи адресов памяти, цветовых кодов и значений байтов без длины чистого двоичного кода.
Какие цифры допустимы в каждой системе счисления?
Двоичная использует 0-1, восьмеричная — 0-7, десятичная — 0-9, а шестнадцатеричная — 0-9 плюс A-F (представляющие 10-15). Ввод цифры вне этого диапазона для выбранной системы выведет ошибку.
Можно ли конвертировать отрицательные числа или дроби?
Этот инструмент конвертирует неотрицательные целые числа, что охватывает подавляющее большинство случаев использования в программировании, сетях и учебных задачах. Для представления чисел со знаком или дробных двоичных значений нужны специализированные инструменты дополнительного кода или чисел с плавающей точкой.
Как перевести шестнадцатеричный цветовой код (например, #FF5733) в RGB?
Шестнадцатеричный цветовой код — это просто три двузначных шестнадцатеричных числа, соединённых вместе: красный, зелёный и синий. Разбейте #FF5733 на FF, 57 и 33, затем переведите каждую пару в десятичную систему: FF = 255, 57 = 87 и 33 = 51, получится rgb(255, 87, 51). Каждая пара принимает значения от 00 (0) до FF (255), поэтому каждый из 16.777.216 возможных цветов можно записать шестью шестнадцатеричными цифрами. Именно поэтому CSS так широко использует шестнадцатеричную запись — она компактна, и каждая пара напрямую соответствует байту, который браузер хранит для этого канала.
Что такое дополнительный код и как он представляет отрицательные двоичные числа?
Дополнительный код — это стандартный способ хранения отрицательных целых чисел в компьютерах. Чтобы инвертировать число, инвертируйте каждый бит и прибавьте 1: для +5 в 8 битах (00000101) инвертируйте биты (11111010) и прибавьте 1, получив 11111011, что представляет −5. Крайний левый бит действует как знаковый индикатор — 0 означает неотрицательное значение, 1 — отрицательное, — при этом схема сложения остаётся одинаковой для обоих знаков. 4-битное значение в дополнительном коде охватывает диапазон от −8 до +7, а не от 0 до 15, потому что половина диапазона занята отрицательными числами. Этот инструмент переводит неотрицательные целые числа; для значений со знаком вы применяете дополнительный код самостоятельно к полученному двоичному результату.
Почему конвертер показывает лишние ведущие нули в двоичной записи?
Ведущие нули никогда не меняют значение числа — 0011 и 11 — это одно и то же десятичное 3, — но их часто показывают намеренно. Программисты группируют двоичные цифры в нибблы (4 бита) или байты (8 бит), чтобы запись выравнивалась с шестнадцатеричной системой: 0011 0011 читается как 33 в шестнадцатеричной системе, тогда как не сгруппированное 110011 разбирать труднее. Некоторые инструменты дополняют вывод до фиксированной ширины (8, 16 или 32 бита), чтобы отразить реальные регистры компьютера. Если вы предпочитаете самую короткую форму, просто отбросьте ведущие нули из результата — значение останется прежним.
Как восьмеричная система используется в правах доступа к файлам Unix (chmod)?
Права Unix состоят из трёх троек — чтение (r), запись (w) и выполнение (x) — для владельца, группы и остальных пользователей. Каждая тройка — это трёхбитное двоичное число, поэтому она соответствует одной восьмеричной цифре: rwx = 7, rw- = 6, r-x = 5, r-- = 4. Команда chmod 755, таким образом, задаёт владельцу rwx, группе r-x, а остальным r-x — именно поэтому 7, 5, 5 записаны тремя восьмеричными цифрами. Здесь восьмеричная система естественна, потому что каждая цифра охватывает ровно три бита, что совпадает с тремя позициями прав для каждой категории.
Может ли этот инструмент переводить очень большие числа без потери точности?
Этот конвертер точен для любого целого числа до 2^53 − 1 = 9.007.199.254.740.991 — наибольшего целого числа, которое JavaScript может представить точно. Значения за этой границей могут округляться до ближайшего представимого числа, поэтому результат может отклоняться от точного преобразования. Для повседневных задач — цветовых кодов, адресов памяти, масок IP, номеров портов и учебных чисел — этого диапазона более чем достаточно. Если вам нужны преобразования за пределами 53 бит, потребуется инструмент с произвольной точностью, а не обычный конвертер в браузере.
Как перевести десятичное число в двоичное вручную?
Делите число на 2 многократно, записывая остаток на каждом шаге, затем читайте остатки снизу вверх. Для 47: 47 ÷ 2 = 23 остаток 1, 23 ÷ 2 = 11 остаток 1, 11 ÷ 2 = 5 остаток 1, 5 ÷ 2 = 2 остаток 1, 2 ÷ 2 = 1 остаток 0, 1 ÷ 2 = 0 остаток 1. Читая остатки снизу вверх, получаем 101111, что равно 32 + 8 + 4 + 2 + 1 = 47. Тот же метод последовательного деления работает для любого основания — делите на 8 для восьмеричной системы, на 16 для шестнадцатеричной — собирая остатки в обратном порядке.
Как перевести число между двоичной и шестнадцатеричной системами напрямую, без промежуточной десятичной?
Поскольку одна шестнадцатеричная цифра равна ровно четырём битам, можно переводить без десятичного шага. Сгруппируйте двоичные цифры по четыре справа и переведите каждую группу в шестнадцатеричную цифру: 101111 → 0010 1111 → 2F. Каждая группа из 4 битов соответствует одному шестнадцатеричному символу (0000=0 вплоть до 1111=F). В обратную сторону разверните каждую шестнадцатеричную цифру в четыре бита: 2F → 0010 1111. Тот же приём работает для восьмеричной системы, которая соотносится с двоичной группами по три бита, — именно поэтому двоичная, восьмеричная и шестнадцатеричная системы так легко взаимно конвертируются.

Откройте больше инструментов

Свежая подборка из всей нашей библиотеки инструментов.