Перевод чисел между системами счисления: полное пособие

Когда мы записываем число, мы даже не задумываемся, что делаем это по определённым правилам — используем десятичные цифры и учитываем порядок разрядов. Но в вычислительной технике всё устроено иначе: компьютеры работают с двоичными числами, программы нередко используют шестнадцатеричные значения, а сами данные могут представляться в самых разных форматах. Поэтому умение переводить числа между системами счисления — это базовый навык, без которого сложно двигаться дальше в программировании, математике или цифровой обработке информации. 

В этой статье разбираем простые и универсальные правила перевода: из десятичной в двоичную, из двоичной в шестнадцатеричную, из любой системы — в любую другую. 

иконка календаря
18 декабря 2025
иконка таймера
10 минут
Автор статьи:
Поделиться:

Правила перевода чисел из любой системы счисления в двоичную

Перевод в двоичную систему всегда сводится к одной идее: превратить число в десятичное, а затем представить его в виде суммы степеней двойки.

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

1. Универсальный подход: перевод через десятичную систему

Это самый понятный метод. Его чаще всего используют в учебниках и на практике. Шаги такие:

  1. Преобразовать исходное число в десятичное.
    Для этого каждая цифра умножается на основание исходной системы, возведённое в степень разряда.
    Пример: 3A16 = 3 × 161 + 10 × 160 = 48 + 10 = 58.

  2. Перевести полученное десятичное число в двоичное.
    Это делается обычным делением на 2 с фиксацией остатков.
    Пример: 58₁₀ → 111010₂.

Метод работает для любой системы: восьмеричной, шестнадцатеричной, пятеричной.

2. Прямой перевод в двоичную систему (без промежуточного десятичного шага)

Этот способ ускоряет процесс, когда основание новой системы удобно раскладывается в степени двойки. Подходит, если исходная система имеет основание вида:

  • 4 (2²);
  • 8 (2³);
  • 16 (2⁴);
  • 32 (2⁵).

Тогда можно просто заменить каждую цифру её двоичным эквивалентом фиксированной длины.

Пример:

  • восьмеричная цифра 7 → 111 (3 бита);
  • шестнадцатеричная цифра A → 1010 (4 бита).

Так переводят, например, из восьмеричной в двоичную:

53₈ → 5 = 101, 3 = 011 → 101011₂

Или из шестнадцатеричной в двоичную:

2F₁₆ → 2 = 0010, F = 1111 → 00101111₂

3. Перевод из систем, где основание не связано с двойкой

Если основание — 3, 5, 6, 7, 9, 11, 12 и так далее, прямой перевод через блоки невозможен.

Здесь всегда нужен универсальный путь: сначала перевести число в десятичную форму, затем — в двоичную.

Возьмём число 132₅. Пятеричная система не связана с двойкой, поэтому прямой побитовый перевод невозможен — сначала нужно перейти в десятичную.

1 × 5² + 3 × 5¹ + 2 × 5⁰ = 25 + 15 + 2 = 42₁₀

Теперь переводим 42 в двоичную систему:

42₁₀ = 101010₂

Итог:

132₅ → 42₁₀ → 101010₂

Это не ограничение, а свойство степенных систем: у таких оснований нет удобного битового представления фиксированной длины.

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

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

Ещё один момент, который нередко удивляет новичков: при переходе в двоичную систему запись почти всегда становится длиннее.

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

Бесплатный доступ к занятиям в Домашней школе
Вы получите записи уроков по нескольким предметам, познакомитесь с учителями и попробуете решить домашнее задание

Правила перевода чисел в десятичную систему счисления

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

Например, в записи 3146​ каждая цифра имеет своё место и вес:

  • 3 — это количество шестёрок в квадрате;
  • 1 — количество шестёрок в первой степени;
  • 4 — количество единиц.

Запись в десятичной форме получается так:

3 × 6² + 1 × 6¹ + 4 × 6⁰ = 3 × 36 + 1 × 6 + 4 × 1 = 108 + 6 + 4 = 118₁₀

Тот же принцип работает в любой системе — двоичной, восьмеричной, тринадцатеричной, шестнадцатеричной. Например, шестнадцатеричное 2F16​ разбирается так:

2 × 16¹ + 15 × 16⁰ = 32 + 15 = 47₁₀

Важно помнить только один нюанс: если алфавит системы включает буквы (как в шестнадцатеричной), каждая буква соответствует числовому значению: A — это 10, B — это 11 и так далее до F (15). В остальном процесс всегда одинаковый: определить основание, раскрыть разряды, сложить полученные величины.

Правила перевода чисел в шестнадцатеричную систему счисления

Шестнадцатеричная система удобна тем, что каждая её цифра соответствует четырём двоичным разрядам. Поэтому перевод в шестнадцатеричную систему обычно проходит двумя путями: через десятичную форму или напрямую через двоичную запись. 

Перевод через десятичную систему

Этот способ подходит для чисел из любых систем счисления, независимо от основания. Алгоритм тот же, что и при переводе в двоичную, только делим на 16.

  1. Сначала переводим исходное число в десятичную систему.
  2. Затем делим полученное десятичное число на 16, фиксируя остатки.
  3. Остатки записываем в обратном порядке — от последнего к первому.
  4. Если остаток от 10 до 15, заменяем его буквами A–F.

Например, переведём 214₈ в шестнадцатеричную систему.
Сначала в десятичную:

2 × 8² + 1 × 8¹ + 4 × 8⁰ = 128 + 8 + 4 = 140₁₀

Теперь делим 140 на 16:

140 ÷ 16 = 8, остаток 12

12 соответствует букве C. Запись получается:

8C₁₆

Прямой перевод через двоичную систему

Этот способ особенно удобен, если исходная система — двоичная или восьмеричная.

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

10111110₂ → группируем по четыре бита: 1011 1110. 1011₂ = B, 1110₂ = E.
Получаем BE₁₆.

На практике этот метод самый быстрый, потому что не требует промежуточных вычислений.

При переводе в шестнадцатеричную систему важно помнить несколько особенностей. Шестнадцатеричная запись почти всегда короче двоичной, потому что каждые четыре бита складываются в один символ — это естественное следствие того, что основание равно 16. 

Цифры от 10 до 15 в такой системе записываются буквами A–F, чтобы удобно различать значения. Если двоичная запись числа не делится на группы по четыре бита, к началу просто добавляют нули — это нужно для выравнивания и не меняет само число.

Бесплатное руководство: как перейти на семейное образование
Рассказываем, как забрать документы из обычной школы и перейти на домашнее обучение с онлайн‑аттестацией
Хочу получить через
Готово
Забирай руководство по теме «Как перейти на семейное образование» в нашем телеграм-боте

Перевод из десятичной в двоичную систему счисления

Перевод из десятичной системы в двоичную основан на простом принципе: число последовательно делят на 2 и фиксируют остатки. Это один из самых наглядных способов увидеть, как десятичное число раскладывается на степени двойки. Такой метод всегда даёт точный результат и одинаково работает для любых целых чисел.

Алгоритм выглядит так: делим десятичное число на 2, записываем остаток (он всегда либо 0, либо 1), затем снова делим результат на 2, пока не получим ноль. Двоичное представление формируется в обратном порядке — от последнего остатка к первому.

Например, переведём 42₁₀ в двоичную систему:
42 ÷ 2 = 21, остаток 0;
21 ÷ 2 = 10, остаток 1;
10 ÷ 2 = 5, остаток 0;
5 ÷ 2 = 2, остаток 1;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1.

Если выписать остатки снизу вверх, получится 101010₂. Это и есть двоичная форма числа 42.

Важно помнить: чем больше десятичное число, тем длиннее будет его двоичное представление. Это естественно, потому что основание двоичной системы меньше и для записи того же значения требуется больше разрядов.

Перевод из десятичной в шестнадцатеричную систему счисления

Перевод десятичного числа в шестнадцатеричную систему устроен так же, как и перевод в двоичную, только вместо деления на 2 используется деление на 16. Идея проста: мы постепенно «вынимаем» из числа шестнадцатеричные разряды, начиная с младшего, а затем записываем их в обратном порядке.

Алгоритм выглядит так: число делится на 16, фиксируется остаток, потом результат снова делится на 16 — и так до тех пор, пока частное не станет равным нулю. Остатки образуют шестнадцатеричное число, только читать их нужно снизу вверх. Если остаток оказывается между 10 и 15, он заменяется буквами A–F — это стандартные обозначения шестнадцатеричных цифр.

Для наглядности разберём короткий пример. Пусть нужно перевести число 250₁₀. Делим его на 16:

250 ÷ 16 = 15, остаток 10

Остаток 10 — это шестнадцатеричная A, а частное 15 — это F.

Так как на следующем шаге частное уже меньше 16, оно само становится старшим разрядом. Если выписать разряды по порядку, получится FA₁₆. Благодаря тому, что шестнадцатеричная система опирается на большие разряды, итоговая запись получается значительно короче десятичной — в этом и заключается её удобство при работе с большими числами и машинными данными.

Перевод из двоичной в восьмеричную систему счисления

Перевод из двоичной системы в восьмеричную — один из самых простых, потому что основание восьмеричной системы (8) равно 23. Это означает, что каждые три бита двоичной записи образуют ровно одну восьмеричную цифру. Никаких промежуточных вычислений в десятичной системе не требуется — достаточно сгруппировать разряды и заменить каждую тройку её восьмеричным значением.

Чтобы выполнить такой перевод, двоичное число разбивают на блоки по три бита, начиная справа, от младших разрядов. Если в старшем блоке не хватает разрядов, слева добавляют нули — это не изменяет значение числа, а только выравнивает запись. После этого каждая тройка битов переводится в число от 0 до 7: 000 соответствует 0, 001 — 1, 010 — 2 и так далее до 111, что даёт 7.

Короткий пример покажет, как это работает. Допустим, нужно перевести число 110101₂.Разобьём его справа налево: 110 101.

110₂ — это 6;

101₂ — это 5.

Значит, результат — 65₈.

За счёт такого соответствия по три бита на один разряд восьмеричная система долгое время была удобна для низкоуровневого программирования: она делает длинные двоичные последовательности компактными, но сохраняет прямую читаемую связь с битами.

Перевод из двоичной в шестнадцатеричную систему счисления

Перевод из двоичной системы в шестнадцатеричную устроен так же просто, как и перевод в восьмеричную, только здесь двоичная запись группируется не по три, а по четыре бита. Это связано с основанием шестнадцатеричной системы: 16 = 2⁴, поэтому каждая тетрада (группа из четырёх битов) точно соответствует одной шестнадцатеричной цифре — от 0 до 9 или от A до F. Никакого обращения к десятичной системе при этом не требуется: достаточно правильно разбить число на группы.

Процедура всегда одинакова. Двоичную запись делят на блоки по четыре разряда, начиная справа, от младшего бита. Если в старшем блоке не хватает символов, слева добавляют нули — это лишь выравнивание, оно не меняет числового значения. После разбиения каждая тетрада заменяется соответствующей шестнадцатеричной цифрой: 0000₂ даёт 0₁₆, 1001₂ превращается в 9₁₆, 1010₂ — в A₁₆, 1111₂ — в F₁₆ и так далее.

Допустим, перед нами число 101101011₂. Сначала выровняем его слева и разобьём на группы: 0010 1101 0111. Теперь переводим каждую тетраду:

0010₂ → 2

1101₂ → D

0111₂ → 7

Запись в шестнадцатеричной системе получится такой:

2D7₁₆

Благодаря этому соответствию двоичной и шестнадцатеричной записи шестнадцатеричная система стала стандартом в программировании: она позволяет представить большие битовые последовательности компактно, но без потери связи с исходными данными.

Таблица перевода систем счисления

Когда нужно быстро сравнить, как одно и то же число выглядит в разных системах счисления, удобнее всего опираться на небольшую таблицу. Она показывает, как меняется запись при переходе между двоичной, восьмеричной, десятичной и шестнадцатеричной системами — самыми распространёнными позиционными системами, с которыми чаще всего работают в программировании и математике. В таблице используются только базовые примеры, но по ним легко понять общую логику: при уменьшении основания запись удлиняется, а при увеличении — сокращается.

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная

0

0

0

0

1

1

1

1

2

10

2

2

5

101

5

5

7

111

7

7

8

1000

10

8

10

1010

12

A

12

1100

14

C

15

1111

17

F

16

10000

20

10

25

11001

31

19

42

101010

52

2A

73

1001001

111

49

255

11111111

377

FF

Эти соответствия можно использовать как опорные точки при ручном переводе чисел. Если нужно преобразовать более длинные значения, принцип остаётся тем же: двоичные записи группируются по три бита для восьмеричной системы и по четыре — для шестнадцатеричной, а при переходе в десятичную используется разложение числа по степеням основания.

Поделитесь статьёй

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

Свяжемся с вами в течение 5 минут и проведём бесплатную консультацию по вопросам перехода на домашнее обучение

Позвоним с 8 до 19 в рабочие дни

Позвоним с 8 до 21 в рабочие дни

Позвоним с 8 до 21 в рабочие дни

Ещё по теме
close

Если вы не нашли ответ на свой вопрос на нашем сайте, включая раздел «Вопросы и ответы», закажите обратный звонок. Мы скоро свяжемся с вами.