Как перевести из двоичной в десятичную систему
Узнайте, как быстро перевести двоичное число в десятичную систему: формулы, пошаговый алгоритм и примеры, включая дробные числа.
Узнайте, как быстро перевести двоичное число в десятичную систему: формулы, пошаговый алгоритм и примеры, включая дробные числа.
Что такое двоичная и десятичная системы счисления
Двоичная система (основание 2) использует лишь два символа — 0 и 1. Каждый разряд — это степень двойки, начиная с 2⁰ = 1 справа. Десятичная система (основание 10) имеет десять символов — 0…9; её разряды — степени десяти: 10⁰, 10¹, 10² и т.д. Перевод из одной системы в другую сводится к вычислению суммы произведений цифр на соответствующие степени основания.
Прямой метод: разложение по степеням двойки
Алгоритм
- Запишите двоичное число слева направо.
- Пронумеруйте разряды, начиная с 0 для крайней правой цифры.
- Для каждой цифры 1 умножьте 2ⁿ, где n — номер разряда.
- Сложите полученные значения.
Если цифра 0, её вклад — 0, её можно просто игнорировать.
Пример 1. Целое число
Переведём 101101₂ в десятичную систему.
| Разряд (n) | Цифра | 2ⁿ | Вклад |
|---|---|---|---|
| 5 | 1 | 32 | 32 |
| 4 | 0 | 16 | 0 |
| 3 | 1 | 8 | 8 |
| 2 | 1 | 4 | 4 |
| 1 | 0 | 2 | 0 |
| 0 | 1 | 1 | 1 |
Сумма = 32 + 8 + 4 + 1 = 45. Поэтому 101101₂ = 45₁₀.
Метод удвоения (поразрядный)
Этот способ удобнее при работе с длинными числами, потому что не требует вычисления степеней.
Алгоритм
- Инициализируйте результат = 0.
- Пройдите цифры двоичного числа слева направо.
- Для каждой цифры выполните:
результат = результат * 2 + текущий_бит. - После обработки последней цифры итог — десятичное значение.
Пример 2
Переведём 1100110₂.
| Шаг | Текущий бит | Результат |
|---|---|---|
| 0 | — | 0 |
| 1 | 1 | 0·2 + 1 = 1 |
| 2 | 1 | 1·2 + 1 = 3 |
| 3 | 0 | 3·2 + 0 = 6 |
| 4 | 0 | 6·2 + 0 = 12 |
| 5 | 1 | 12·2 + 1 = 25 |
| 6 | 1 | 25·2 + 1 = 51 |
| 7 | 0 | 51·2 + 0 = 102 |
Итог: 1100110₂ = 102₁₀.
Перевод дробных чисел
Двоичная дробь записывается через разделитель (точку или запятую) и имеет отрицательные степени двойки.
Алгоритм
- Разделите число на целую и дробную части.
- Целую часть переводите обычным способом.
- Для дробной части: каждому разряду справа от запятой сопоставьте 2⁻¹, 2⁻², 2⁻³ …
- Суммируйте только те степени, где бит = 1.
Пример 3
10.101₂ →
- Целая часть
10₂ = 2₁₀. - Дробная часть:
- первый бит = 1 ⇒ 2⁻¹ = 0.5
- второй бит = 0 ⇒ 0
- третий бит = 1 ⇒ 2⁻³ = 0.125
Сумма дробной части = 0.5 + 0.125 = 0.625.
Итого 10.101₂ = 2.625₁₀.
Частые ошибки и как их избежать
| Ошибка | Как избежать |
|---|---|
| Смешивание направлений – считаем степени слева направо. | Нумеруйте разряды справа, начиная с 0. |
| Пропуск нулей при разложении по степеням. | Включайте все разряды; нулевой бит просто вносит 0. |
| Неправильный набор битов в методе удвоения (добавляем, а не умножаем). | Помните формулу: результат = результат * 2 + бит. |
| Игра с точкой в дробных числах – забываем о отрицательных степенях. | Записывайте отрицательные степени явно: 2⁻¹, 2⁻²… |
| Переполнение при больших числах в обычных калькуляторах. | Используйте типы произвольной точности (bigint) или делайте расчёты по частям. |
Практика: несколько задач
-
Задача: Перевести
11100011₂.
Решение (разложение): 2⁷ + 2⁶ + 2⁵ + 2⁰ = 128 + 64 + 32 + 1 = 225.
Ответ: 225₁₀. -
Задача: Перевести
0.0011₂.
Решение (дробная часть): 2⁻³ + 2⁻⁴ = 0.125 + 0.0625 = 0.1875.
Ответ: 0.1875₁₀. -
Задача: Перевести
1010101010₂методом удвоения.
Шаги: 0→1→2→5→10→21→42→85→170→341→682.
Ответ: 682₁₀.
Самопроверка
После получения десятичного результата можно вернуть его в двоичную форму тем же способом (делением на 2) и сравнить с исходным числом. Если обе записи совпадают, перевод выполнен правильно.
Совет: При работе с большими двоичными числами храните таблицу степеней двойки в блокноте или используйте онлайн‑конвертеры. Наш сайт предлагает бесплатный конвертер «Двоичный → Десятичный», который выполнит расчёт мгновенно.
Частые вопросы
Можно ли перевести двоичную дробь в десятичную вручную?
Да. Дробную часть двоичного числа следует умножать на 2⁻¹, 2⁻² и т.д., а полученные результаты суммировать. Каждый разряд 0 или 1 добавляет соответствующую степень двойки к десятичному результату.
Почему при конвертации число часто становится длиннее?
В двоичной системе каждый разряд хранит лишь два состояния, поэтому для представления того же количества информации требуется больше цифр. При переводе в десятичную запись обычно короче, но цифр 0‑9 более «информативных».
Какой способ быстрее: разложение по степеням или метод удвоения?
Для небольших чисел удобнее разложение по степеням, а для длинных — метод удвоения (итеративное 2·результат + текущий бит), так как он требует лишь один проход слева направо и не требует вычисления степеней.
Что делать, если в двоичном числе более 32 разряда?
Можно использовать таблицу степеней двойки или выполнить метод удвоения, который не ограничен размером разряда. При работе с программой часто используют типы «bigint» или произвольной точности.
Как проверить правильность перевода?
Переведённое десятичное число можно обратно сконвертировать в двоичную форму и сравнить с исходным. Также удобно проверить сумму ∑ бит·2ⁿ, вычислив её обычными арифметическими операциями.