Что такое перевод двоичных чисел в десятичные?
Конвертер из двоичной системы в десятичную преобразует число, записанное в системе счисления с основанием 2 (только цифры 0 и 1), в эквивалент в десятичной системе — той самой, которой мы пользуемся каждый день. Компьютеры хранят и обрабатывают всё в двоичном виде, поэтому перевод в десятичный формат незаменим, когда нужно получить понятное человеку значение из «сырых» битов, дампов памяти, сетевых масок или вывода программы.
Как пользоваться калькулятором
Введите двоичное число в поле — например 101101 — и калькулятор покажет десятичное значение вместе с количеством бит. Любой символ, кроме 0 и 1, игнорируется, поэтому можно спокойно вставлять группы с пробелами, например 1011 0101.
Разбор формулы
Каждый двоичный разряд (бит) имеет позиционный вес, равный двойке в степени его позиции, отсчитываемой справа начиная с нуля. Десятичное значение — это сумма всех битов, умноженных на их веса:
$$\text{Decimal} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,n-1-i}, \quad d_i \in \text{Binary Number}$$
Крайний правый бит имеет вес \(2^0 = 1\), следующий — \(2^1 = 2\), далее \(2^2 = 4\), \(2^3 = 8\) и так далее.
Пример с решением
Переведём 101101. Читаем справа налево с весами 1, 2, 4, 8, 16, 32:
$$(1\cdot32) + (0\cdot16) + (1\cdot8) + (1\cdot4) + (0\cdot2) + (1\cdot1) = 32 + 8 + 4 + 1 = \textbf{45}$$ Значит, двоичное 101101 равно десятичному 45.
Частые вопросы
Какое самое большое 8-битное двоичное число? Это 11111111, что в десятичной системе равно 255 (\(2^8 - 1\)).
Можно ли вводить ведущие нули? Да. Ведущие нули не меняют значение — 0010 это то же самое, что и 10, оба равны десятичному 2.
Поддерживаются ли дробные двоичные числа? Нет, этот инструмент переводит только целые двоичные числа. Дробная часть после точки не поддерживается.
Степени двойки в позиционных весах
В двоичном числе каждый бит имеет позиционный вес, равный степени двойки. Крайний правый бит (позиция 0) имеет вес \(2^0 = 1\), а каждая позиция влево удваивает вес. Для ручного преобразования, умножьте каждый бит на его вес и сложите результаты:
$$\text{Десятичное} = \sum_{i=0}^{n-1} d_i \cdot 2^{\,i}$$
где \(i\) отсчитывает позиции справа (наименее значащий бит), начиная с 0.
| Позиция бита \(i\) | Степень \(2^i\) | Десятичный вес |
|---|---|---|
| 0 | \(2^0\) | 1 |
| 1 | \(2^1\) | 2 |
| 2 | \(2^2\) | 4 |
| 3 | \(2^3\) | 8 |
| 4 | \(2^4\) | 16 |
| 5 | \(2^5\) | 32 |
| 6 | \(2^6\) | 64 |
| 7 | \(2^7\) | 128 |
| 8 | \(2^8\) | 256 |
| 9 | \(2^9\) | 512 |
| 10 | \(2^{10}\) | 1 024 |
| 11 | \(2^{11}\) | 2 048 |
| 12 | \(2^{12}\) | 4 096 |
| 13 | \(2^{13}\) | 8 192 |
| 14 | \(2^{14}\) | 16 384 |
| 15 | \(2^{15}\) | 32 768 |
| 16 | \(2^{16}\) | 65 536 |
Для 8-битного байта максимальное значение — \(2^8 - 1 = 255\) (все восемь битов установлены в 1), а для 16 бит — \(2^{16} - 1 = 65 535\).
Дополнительные примеры решения
В каждом примере каждый бит выравнивается по его позиционному весу из таблицы выше, сохраняются только веса, где бит равен 1, и они складываются для получения десятичного значения.
Пример 1: 11111111 (8 бит, все установлены)
Каждый бит равен 1, поэтому мы складываем все восемь весов с позиции 7 до позиции 0:
$$128 + 64 + 32 + 16 + 8 + 4 + 2 + 1$$
Итого 255, что является наибольшим значением, которое может хранить 8-битный байт.
Пример 2: 10000000
Только крайний левый бит (позиция 7) равен 1; все остальные позиции дают 0:
$$1\cdot128 + 0\cdot64 + 0\cdot32 + 0\cdot16 + 0\cdot8 + 0\cdot4 + 0\cdot2 + 0\cdot1$$
Это упрощается до одного веса \(2^7\), дающего 128.
Пример 3: 110010101 (9 бит)
Выписав биты с их позиционными весами, 1-биты находятся в позициях 8, 7, 4, 2 и 0:
| Бит | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
|---|---|---|---|---|---|---|---|---|---|
| Позиция | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| Вес | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Складываем только веса, где бит равен 1:
$$256 + 128 + 16 + 4 + 1$$
Десятичный результат — 405. Вы можете подтвердить обратное направление с помощью конвертера десятичного числа в двоичное, введя 405 и проверив, что он вернёт 110010101.