Калькулятор перевода двоичного кода в десятичный
Введите двоичное число (только цифры 0 и 1, возможна дробная часть после точки) — калькулятор переведёт его в десятичное.
Логика вычислений
Калькулятор переводит двоичное число в десятичное по позиционному принципу: каждая цифра умножается на двойку в степени, равной номеру её разряда, а результаты складываются. Число может содержать дробную часть после точки — тогда расчёт ведётся отдельно для целой и для дробной части.
Целая часть обрабатывается слева направо: старший (крайний левый) разряд имеет наибольшую степень двойки, младший (крайний правый) — нулевую. Десятичное значение целой части:
D_цел = Σ (b_k × 2^k), k = 0 … (m−1)
где:
- D_цел — десятичное значение целой части;
- b_k — двоичная цифра (0 или 1) в разряде k;
- k — номер разряда, отсчитывается справа налево от 0;
- m — количество цифр в целой части.
Дробная часть (цифры после точки) обрабатывается слева направо с отрицательными степенями двойки: первый разряд после точки — это 2⁻¹, второй — 2⁻², и так далее:
D_дроб = Σ (c_j × 2^−j), j = 1 … p
где:
- D_дроб — десятичное значение дробной части;
- c_j — двоичная цифра (0 или 1) на j-й позиции после точки;
- j — номер позиции после точки, считается от 1;
- p — количество цифр в дробной части.
Итоговое десятичное число — сумма значений целой и дробной частей:
D = D_цел + D_дроб
где:
- D — искомое десятичное число.
В шагах перевода калькулятор показывает только разряды с единицей (нулевые слагаемые в сумму не входят, так как 0 × 2^k = 0) и приводит их сумму к итоговому значению D.
Примеры расчётов
| Двоичное число | Целая часть D_цел | Дробная часть D_дроб | Результат D | Комментарий |
|---|---|---|---|---|
| 1010 | 1×2³ + 1×2¹ = 8 + 2 = 10 | — | 10 | Простое целое число без дробной части |
| 1111 | 8 + 4 + 2 + 1 = 15 | — | 15 | Все разряды — единицы, максимум для 4 бит |
| 11111111 | 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255 | — | 255 | Один байт целиком из единиц |
| 100000 | 1×2⁵ = 32 | — | 32 | Степень двойки — единица в старшем разряде |
| 1101.1 | 8 + 4 + 1 = 13 | 1×2⁻¹ = 0.5 | 13.5 | Число с дробной частью после точки |
| 10.11 | 1×2¹ = 2 | 2⁻¹ + 2⁻² = 0.5 + 0.25 = 0.75 | 2.75 | Дробная часть из двух разрядов |
| 0.101 | 0 | 2⁻¹ + 2⁻³ = 0.5 + 0.125 = 0.625 | 0.625 | Только дробная часть, целая равна нулю |
