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

Иван Корнев·07.05.2026·5 мин

Чтобы перевести десятичное число в двоичное, нужно последовательно делить его на 2 и записывать остатки в обратном порядке. Для обратного перевода (из двоичной в десятичную) необходимо умножить каждый бит на соответствующую степень двойки и сложить результаты. Эти алгоритмы являются фундаментальными для понимания работы компьютерной логики.

Ниже приведены подробные пошаговые инструкции с примерами для обоих направлений перевода.

Оглавление

  1. Перевод из десятичной в двоичную
  2. Перевод из двоичной в десятичную
  3. Быстрые способы проверки
  4. Частые ошибки
  5. FAQ

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

Алгоритм основан на методе последовательного деления на основание системы счисления (в данном случае — на 2).

Пошаговая инструкция

  1. Разделите исходное десятичное число на 2.
  2. Запишите остаток от деления (он всегда будет равен 0 или 1).
  3. Возьмите целую часть частного и снова разделите её на 2.
  4. Повторяйте шаги 1–3, пока частное не станет равным 0.
  5. Запишите все полученные остатки в порядке, обратном их получению (снизу вверх). Это и есть двоичное представление числа.

Пример: перевод числа 156

ДелениеЧастноеОстаток
156 ÷ 2780
78 ÷ 2390
39 ÷ 2191
19 ÷ 291
9 ÷ 241
4 ÷ 220
2 ÷ 210
1 ÷ 201

Читаем остатки снизу вверх: 10011100. Таким образом, $156_{10} = 10011100_2$.

Пример: перевод числа 13

  1. $13 \div 2 = 6$ (остаток 1)
  2. $6 \div 2 = 3$ (остаток 0)
  3. $3 \div 2 = 1$ (остаток 1)
  4. $1 \div 2 = 0$ (остаток 1)

Результат (снизу вверх): 1101. $13_{10} = 1101_2$.

Лайфхак для программистов: В языке Python можно быстро проверить результат, используя встроенные функции:

  • bin(156) вернет строку '0b10011100'.
  • Префикс 0b указывает на двоичный формат, сами цифры — 10011100.

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

Двоичная система является позиционной. Вес каждого бита зависит от его позиции, считая справа налево, начиная с нуля. Позиция $i$ имеет вес $2^i$.

Пошаговая инструкция

  1. Пронумеруйте позиции битов справа налево, начиная с 0.
  2. Если бит равен 1, вычислите значение $2^{\text{номер позиции}}$.
  3. Если бит равен 0, его вклад в сумму равен 0.
  4. Сложите все полученные значения.

Пример: перевод числа $10011100_2$

Запишем степени двойки для каждой позиции (справа налево):

| Бит | Позиция ($i$) | Вычисление ($2^i$) | Значение | | :-: | :-----------: | :----------------: | :------: | | 0 | 0 | $2^0$ | 0 | | 0 | 1 | $2^1$ | 0 | | 1 | 2 | $2^2$ | 4 | | 1 | 3 | $2^3$ | 8 | | 1 | 4 | $2^4$ | 16 | | 0 | 5 | $2^5$ | 0 | | 0 | 6 | $2^6$ | 0 | | 1 | 7 | $2^7$ | 128 |

Сумма: $128 + 16 + 8 + 4 = 156$. Результат: $10011100_2 = 156_{10}$.

Пример: перевод числа $1101_2$

  • $1 \cdot 2^3 = 8$
  • $1 \cdot 2^2 = 4$
  • $0 \cdot 2^1 = 0$
  • $1 \cdot 2^0 = 1$

Сумма: $8 + 4 + 0 + 1 = 13$.

Быстрые способы проверки

Для ускорения процесса и самопроверки полезно знать степени двойки наизусть для первых 8–10 позиций:

СтепеньЗначение
$2^0$1
$2^1$2
$2^2$4
$2^3$8
$2^4$16
$2^5$32
$2^6$64
$2^7$128
$2^8$256

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

Пример для 156:

  1. Ближайшая степень двойки $\le 156$ — это $128$ ($2^7$). Ставим 1 на 7-ю позицию. Остаток: $156 - 128 = 28$.
  2. $64 > 28$, ставим 0.
  3. $32 > 28$, ставим 0.
  4. $16 \le 28$, ставим 1. Остаток: $28 - 16 = 12$.
  5. $8 \le 12$, ставим 1. Остаток: $12 - 8 = 4$.
  6. $4 \le 4$, ставим 1. Остаток: $0$.
  7. Оставшиеся позиции ($2^1, 2^0$) заполняем нулями.

Итог: $10011100$. Этот метод позволяет избежать длинного столбца делений.

Частые ошибки

Обратите внимание на типичные ловушки:

  1. Неверный порядок остатков. Самая распространенная ошибка при делении — запись остатков в прямом порядке (сверху вниз). Всегда читайте их снизу вверх (от последнего деления к первому).
  2. Путаница с индексами. При обратном переводе нумерация позиций начинается с 0, а не с 1. Самый правый бит имеет индекс 0.
  3. Пропуск нулей. Если при разложении по степеням какая-то степень «пропускается» (например, нет 64 и 32), обязательно ставьте на эти места нули в двоичной записи.

FAQ

Вопрос: Как перевести отрицательное число в двоичную систему? Ответ: В компьютерах отрицательные числа обычно хранятся в дополнительном коде (Two's Complement). Чтобы получить его:

  1. Запишите положительное число в двоичном виде.
  2. Инвертируйте все биты (0 замените на 1, 1 на 0).
  3. Прибавьте 1 к полученному результату.

Вопрос: Что делать с дробными числами? Ответ: Целая часть переводится делением на 2 (как описано выше). Дробная часть переводится умножением на 2:

  1. Умножьте дробную часть на 2.
  2. Целая часть результата (0 или 1) становится следующим битом.
  3. Повторяйте с новой дробной частью, пока она не станет 0 или не будет достигнута нужная точность.

Вопрос: Почему в двоичной системе используются только 0 и 1? Ответ: Это связано с физической реализацией электроники. Транзисторы имеют два устойчивых состояния: «ток есть» (логическая единица) и «тока нет» (логический ноль). Это обеспечивает надежность и помехоустойчивость вычислений.