Калькулятор перевода из десятичной в двоичную
Введите десятичное число, чтобы получить его двоичное представление и пошаговый разбор перевода.
Логика вычислений
Калькулятор переводит десятичное число в двоичную систему. Число раскладывается на знак, целую и дробную части, каждая часть переводится своим способом, после чего результаты соединяются. Сначала из исходного числа выделяются знак и абсолютная величина:
N = N_цел + N_др
где:
- N — абсолютная величина исходного десятичного числа;
- N_цел — целая часть числа (отбрасывается дробь);
- N_др — дробная часть числа (N_др = N − N_цел).
Целая и дробная части переводятся в двоичный вид по отдельности.
Перевод целой части
Целая часть переводится последовательным делением на 2 с сохранением остатков. На каждом шаге число делится на 2 нацело, остаток (0 или 1) — это очередная двоичная цифра, а частное идёт на следующий шаг. Деление продолжается, пока частное не станет равно нулю:
q_(k+1) = ⌊q_k / 2⌋ b_k = q_k mod 2
где:
- q_k — частное на шаге k (на первом шаге q₀ = N_цел);
- q_(k+1) — частное на следующем шаге (целочисленное деление, дробь отбрасывается);
- b_k — остаток от деления на 2, очередная двоичная цифра (0 или 1).
Полученные остатки выписываются в обратном порядке — от последнего к первому (снизу вверх). Эта последовательность и есть двоичная запись целой части:
B_цел = b_(m−1) b_(m−2) … b₁ b₀
где:
- B_цел — двоичная запись целой части;
- m — количество выполненных шагов деления (число двоичных разрядов).
Перевод дробной части
Дробная часть переводится последовательным умножением на 2. На каждом шаге дробь умножается на 2, целая часть произведения (0 или 1) становится очередной двоичной цифрой, а дробный остаток идёт на следующий шаг. Цифры выписываются в прямом порядке — сверху вниз:
p_k = 2 × f_(k−1) c_k = ⌊p_k⌋ f_k = p_k − c_k
где:
- f_(k−1) — дробный остаток на входе шага k (на первом шаге f₀ = N_др);
- p_k — произведение дроби на 2;
- c_k — целая часть произведения, очередная двоичная цифра после запятой (0 или 1);
- f_k — новый дробный остаток для следующего шага.
Процесс повторяется, пока дробный остаток не обратится в ноль либо пока не наберётся 20 знаков после запятой (ограничение точности). Двоичная дробь собирается из полученных цифр по порядку:
B_др = c₁ c₂ … c_t
где:
- B_др — двоичная запись дробной части;
- t — количество выполненных шагов умножения (не более 20).
Сборка результата
Двоичные записи целой и дробной частей соединяются через точку (дробная часть добавляется только если она была ненулевой), а перед результатом восстанавливается знак исходного числа:
B = ±B_цел.B_др
где:
- B — итоговое двоичное представление числа;
- ± — знак минус ставится, если исходное число было отрицательным.
Примеры расчётов
| Десятичное число N | Целая часть N_цел | Дробная часть N_др | Двоичный результат B | Комментарий |
|---|---|---|---|---|
| 10 | 10 | 0 | 1010 | Целое число: 10 = 8 + 2, дробной части нет |
| 100 | 100 | 0 | 1100100 | Круглое число, делением на 2 даёт 7 разрядов |
| 255 | 255 | 0 | 11111111 | Граничное: максимум для 8 бит, все единицы |
| 13.625 | 13 | 0.625 | 1101.101 | Дробь конечна: 0.625 = 0.5 + 0.125 |
| 0.1 | 0 | 0.1 | 0.00011001100110011001 | Бесконечная дробь, обрезана до 20 знаков |
| 3.14 | 3 | 0.14 | 11.00100011110101110000 | Дробь не сходится, ограничение точности 20 цифр |
| -6 | 6 | 0 | -110 | Отрицательное: знак минус восстановлен перед B_цел |
