Математика·Прочее

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

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

Калькулятор перевода двоичных чисел в десятичные

Допускаются только 0, 1 и одна точка. Префикс 0b будет автоматически убран.
Примеры:

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

Смысл перевода простой: двоичная запись — это набор битов, каждый бит “вносит вклад” в итоговое число. Чтобы получить десятичное значение, нужно учитывать позицию каждого бита относительно начала числа (и относительно точки, если она есть).

На практике удобны два способа:

  1. через степени двойки (самый наглядный);
  2. быстрым алгоритмом слева направо (для целых чисел).

Метод степеней двойки (для целых чисел)

Пусть есть двоичное число вида bₙ...b₁b₀. Тогда его десятичное значение равно сумме:

N = bₙ·2ⁿ + bₙ₋₁·2ⁿ⁻¹ + ... + b₁·2¹ + b₀·2⁰

Где:

  • bᵢ — это 0 или 1 (бит),
  • 2ⁱ — вес позиции бита.

Важно: считать степени нужно по позициям справа налево: самый правый бит имеет вес 2⁰, следующий — , и так далее.

Пример 1

Переведём 101001₂ в десятичную.

Разложим по позициям:

  • справа налево: 1·2⁵ + 0·2⁴ + 1·2³ + 0·2² + 0·2¹ + 1·2⁰
  • получаем: 32 + 0 + 8 + 0 + 0 + 1 = 41

Ответ: 101001₂ = 41₁₀.

Пример 2 (короткий)

11110₂: 1·2⁴ + 1·2³ + 1·2² + 1·2¹ + 0·2⁰ = 16 + 8 + 4 + 2 + 0 = 30

Ответ: 11110₂ = 30₁₀.

Если есть дробная часть

Двоичная дробь ... . c₁ c₂ c₃ ... переводится через отрицательные степени двойки:

N = целая_часть + c₁·2⁻¹ + c₂·2⁻² + c₃·2⁻³ + ...

Пример

1101.101₂

  1. Целая часть 1101₂: 1·2³ + 1·2² + 0·2¹ + 1·2⁰ = 8 + 4 + 0 + 1 = 13

  2. Дробная часть .101₂:

  • 1·2⁻¹ = 1/2 = 0.5
  • 0·2⁻² = 0
  • 1·2⁻³ = 1/8 = 0.125

Сумма дробной части: 0.5 + 0 + 0.125 = 0.625

Ответ: 1101.101₂ = 13.625₁₀.

Быстрый способ для целых чисел (алгоритм слева направо)

Для целых двоичных чисел можно не раскладывать по степеням. Используйте правило:

  1. Начните с result = 0
  2. Для каждого бита слева направо сделайте:
    result = result × 2 + bit

Пример

10101₂

  • старт: result = 0
  • бит 1: 0×2 + 1 = 1
  • бит 0: 1×2 + 0 = 2
  • бит 1: 2×2 + 1 = 5
  • бит 0: 5×2 + 0 = 10
  • бит 1: 10×2 + 1 = 21

Ответ: 10101₂ = 21₁₀.

Что учесть при вводе двоичного числа

  • В числе должны быть только 0 и 1 (и один разделитель дробной части, если нужна дробь).
  • Ведущие нули слева (например, 000101) на значение не влияют.
  • Если вам дали запись с префиксом 0b, его обычно можно опустить: 0b101101.
  • Для отрицательных чисел “просто перевод по битам” может быть недостаточен — чаще используют дополнительный код с заданной разрядностью.

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

  • Путают позицию бита: забывают, что веса идут по 2⁰, 2¹, 2²... справа налево.
  • Неправильно обрабатывают точку: справа от точки нужны степени вида 2⁻¹, 2⁻²....
  • Считают биты в обратном порядке (слева направо с ошибочными весами).
  • Игнорируют разрядность при работе с отрицательными значениями (если оно дано “как есть” для компьютера).

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

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

Как перевести двоичное число с дробной частью (есть точка)?
Двоичная дробь переводится через отрицательные степени двойки: цифры справа от точки умножаются на 2⁻¹, 2⁻² и т. д. Затем все произведения складываются с целой частью, получая итог в десятичном виде (может получиться дробь).
Можно ли переводить двоичное в десятичное без степеней двойки?
Да. Есть быстрый способ: “схема Горнера”. Идёте слева направо и делаете: result = result×2 + текущий бит. Для дробных чисел удобнее применять отрицательные степени, а для целых — этот способ самый простой.
Что делать, если во входных данных встречаются ведущие нули?
Ведущие нули (слева) не меняют значение числа: например, 00101 и 101 — одно и то же десятичное число. Важно лишь правильно считать позицию битов относительно точки (если она есть).
Как правильно переводить отрицательные двоичные числа?
Обычно используют представление в дополнительном коде (two’s complement). Тогда сначала нужно определить разрядность и интерпретировать старший бит как знак. Общий “перевод по степеням” без учета разрядности для отрицательных значений может дать неверный результат.
Какие символы можно использовать при вводе двоичного числа?
Как правило, допускаются только 0 и 1, а также один разделитель дробной части (точка). Иногда встречается префикс 0b — его можно убрать перед расчетом. Пробелы и другие символы лучше не включать.
Где применяется перевод из двоичной в десятичную?
Он нужен при отладке и визуализации данных в программировании, в цифровой электронике и при работе с битовыми масками. Например, удобно переводить двоичные коды регистров в “человеческое” десятичное значение для проверки логики.