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

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

Сравнение оснований и допустимых цифр четырёх систем счисления

Что такое система счисления и какие они бывают

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

В математике и IT чаще всего встречаются четыре системы:

  • Десятичная (основание 10) — цифры от 0 до 9. Стандарт для повседневных вычислений.
  • Двоичная (основание 2) — только 0 и 1. Основа работы любого компьютера: процессор оперирует именно двоичными сигналами.
  • Восьмеричная (основание 8) — цифры от 0 до 7. Используется в Unix-системах для записи прав доступа к файлам.
  • Шестнадцатеричная (основание 16) — цифры 0–9 и буквы A–F (где A = 10, B = 11, ..., F = 15). Применяется в программировании для записи адресов памяти, цветовых кодов и байтов.

Остальные системы (троичная, пятеричная, двенадцатеричная и другие) встречаются в специализированных задачах, но принципы перевода для них те же самые.

Таблица соответствий чисел 0–15

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

ДесятичнаяДвоичнаяВосьмеричнаяШестнадцатеричная
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

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

Универсальный способ — разложение по степеням основания. Каждая цифра числа умножается на основание системы, возведённое в степень, равную позиции этой цифры (нумерация с нуля справа налево).

Формула

Число anan-1...a1a0 в системе с основанием q переводится так:

N10 = an × qn + an-1 × qn-1 + ... + a1 × q1 + a0 × q0.

Пример: двоичное 101101 → десятичное

1×25 + 0×24 + 1×23 + 1×22 + 0×21 + 1×20 = 32 + 0 + 8 + 4 + 0 + 1 = 45.

Пример: шестнадцатеричное 1A3 → десятичное

1×162 + 10×161 + 3×160 = 256 + 160 + 3 = 419.

Пример: восьмеричное 347 → десятичное

3×82 + 4×81 + 7×80 = 192 + 32 + 7 = 231.

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

Здесь используется метод последовательного деления. Целую часть числа делят на основание новой системы, записывая остатки. Результат — остатки, прочитанные снизу вверх.

Алгоритм

1. Разделить число на основание новой системы.
2. Записать остаток.
3. Частное снова разделить на основание.
4. Повторять, пока частное не станет равно нулю.
5. Записать остатки в обратном порядке.

Пример: 45 → двоичная

45 ÷ 2 = 22, остаток 1
22 ÷ 2 = 11, остаток 0
11 ÷ 2 = 5, остаток 1
5 ÷ 2 = 2, остаток 1
2 ÷ 2 = 1, остаток 0
1 ÷ 2 = 0, остаток 1

Читаем снизу вверх: 1011012

Пример: 419 → шестнадцатеричная

419 ÷ 16 = 26, остаток 3
26 ÷ 16 = 1, остаток 10 (A)
1 ÷ 16 = 0, остаток 1

Читаем снизу вверх: 1A316

Быстрый перевод: двоичная ↔ восьмеричная ↔ шестнадцатеричная

Между этими системами существует прямая связь, поскольку 8 = 23 и 16 = 24. Это позволяет переводить числа без деления — группировкой двоичных разрядов.

Двоичная → восьмеричная

Разбейте двоичное число на группы по 3 цифры справа налево. Каждую тройку замените соответствующей восьмеричной цифрой. Если в левой группе не хватает цифр — дополните нулями.

Пример: 1011012 → разбиваем: 101 | 101 → 5 | 5 → 558

Двоичная → шестнадцатеричная

То же самое, но группы по 4 цифры.

Пример: 1011012 → дополняем: 0010 | 1101 → 2 | D → 2D16

Обратный перевод

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

Пример: 7F16 → 0111 | 1111 → 11111112

Перевод дробных чисел

Целую и дробную части переводят отдельно. Целую — методом деления (см. выше). Дробную — методом последовательного умножения на основание новой системы.

Алгоритм для дробной части

1. Умножить дробную часть на основание новой системы.
2. Целая часть результата — очередная цифра дробной части в новой системе.
3. Оставшуюся дробную часть снова умножить на основание.
4. Повторять до получения нуля или до нужной точности.

Пример: 0,625 → двоичная

0,625 × 2 = 1,25
0,25 × 2 = 0,5
0,5 × 2 = 1,0

Результат: 0,1012

Пример: 0,7 → двоичная (с точностью до 4 знаков)

0,7 × 2 = 1,4
0,4 × 2 = 0,8
0,8 × 2 = 1,6
0,6 × 2 = 1,2

Результат: 0,10112 (приблизительно)

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

Арифметика в двоичной системе

Правила сложения и умножения в двоичной системе аналогичны десятичной, но проще — ведь цифр всего две.

Сложение

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10 (ноль, один в перенос)

Пример: 1011 + 1101

  1011
+ 1101
------
11000

Проверка: 11 + 13 = 24 → 110002 = 1×16 + 1×8 = 24. Верно.

Умножение

0 × 0 = 0
0 × 1 = 0
1 × 0 = 0
1 × 1 = 1

Умножение в двоичной системе сводится к сдвигам и сложению — именно так его выполняют процессоры.

Где применяются разные системы счисления

Двоичная система — это фундамент цифровой электроники. Любой процессор работает с нулями и единицами на аппаратном уровне. Шестнадцатеричная система используется в программировании повсеместно: цвета в HTML записываются в формате #FF5733, адреса памяти и значения байтов отображаются в hex-формате. Восьмеричная система встречается реже, но привычна для администраторов Unix-систем: команда chmod 755 задаёт права доступа именно в восьмеричной записи.

В школьной программе по информатике системы счисления входят в обязательный курс и регулярно встречаются в заданиях ЕГЭ и ОГЭ. Знание алгоритмов перевода позволяет решать такие задачи быстро и без ошибок.

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

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

арифметика