Сервисы

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

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

Введите десятичное число, чтобы получить его двоичное представление и пошаговый разбор перевода.

Десятичное число


Логика вычислений

Калькулятор переводит десятичное число в двоичную систему. Число раскладывается на знак, целую и дробную части, каждая часть переводится своим способом, после чего результаты соединяются. Сначала из исходного числа выделяются знак и абсолютная величина:

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_цел
Рекомендуем