Подключиться через MCP →

Введите расчет

Математическая формула

Реклама

Результатов

Десятичное значение
30
base 10
Количество бит 5

Что такое перевод двоичных чисел в десятичные?

Конвертер из двоичной системы в десятичную преобразует число, записанное в системе счисления с основанием 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\) и так далее.

Binary digits aligned under their positional powers of two
Each bit is multiplied by a power of two based on its position.

Пример с решением

Переведём 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.

Step-by-step conversion of binary 1011 into decimal by summing weighted bits
Summing the weighted bits of 1011 gives the decimal value 11.

Частые вопросы

Какое самое большое 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.

Последнее обновление: