МатематикаПрочее

Как перевести число в двоичную систему

Пошаговое руководство по переводу чисел из десятичной, шестнадцатеричной и восьмеричной систем в двоичный код. Простые алгоритмы, формулы и примеры расчётов.

Двоичная система счисления — это фундамент работы всех современных компьютеров и цифровых устройств. В отличие от привычной нам десятичной системы, здесь используются всего два символа: 0 и 1. Умение переводить числа между этими системами необходимо программистам, системным администраторам и студентам технических специальностей.

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

Существует два основных способа перевода: классический (метод деления) и быстрый (метод степеней).

Способ 1: Метод последовательного деления на 2

Это универсальный алгоритм, который подходит для любого целого положительного числа.

Алгоритм:

  1. Разделите исходное число на 2 нацело.
  2. Запишите остаток от деления (это будет либо 0, либо 1).
  3. Полученное частное снова разделите на 2.
  4. Повторяйте процесс до тех пор, пока частное не станет равным 0.
  5. Запишите все полученные остатки в обратном порядке (от последнего к первому).

Пример: Переведем число 25 в двоичную систему

  • 25÷2=1225 \div 2 = 12 (остаток 1)
  • 12÷2=612 \div 2 = 6 (остаток 0)
  • 6÷2=36 \div 2 = 3 (остаток 0)
  • 3÷2=13 \div 2 = 1 (остаток 1)
  • 1÷2=01 \div 2 = 0 (остаток 1)

Записываем остатки снизу вверх: 11001. Итог: 2510=11001225_{10} = 11001_2.

Способ 2: Метод суммы степеней двойки

Этот метод удобен для тех, кто помнит таблицу степеней двойки (1, 2, 4, 8, 16, 32, 64, 128…).

Алгоритм:

  1. Найдите самую большую степень двойки, которая меньше или равна вашему числу.
  2. Вычтите эту степень из числа.
  3. Повторяйте процесс с остатком, пока не дойдете до нуля.
  4. Поставьте «1» в разрядах тех степеней, которые вы использовали, и «0» в тех, которые пропустили.

Пример: Переведем число 25 в двоичную систему

  1. Ближайшая степень двойки к 25 — это 1616 (242^4). Ставим 1. Остаток: 2516=925 - 16 = 9.
  2. Ближайшая степень к 9 — это 88 (232^3). Ставим 1. Остаток: 98=19 - 8 = 1.
  3. Степень 44 (222^2) в единицу не влезает. Ставим 0.
  4. Степень 22 (212^1) в единицу не влезает. Ставим 0.
  5. Степень 11 (202^0) равна 1. Ставим 1. Остаток: 11=01 - 1 = 0.

Итог: 11001.

Перевод из других систем в двоичную

Если число представлено в системе, основание которой является степенью двойки, переводить его в двоичный код можно мгновенно, используя таблицы соответствия.

Из шестнадцатеричной системы (основание 16)

Каждая шестнадцатеричная цифра заменяется группой из четырех двоичных разрядов (тетрадой).

HexBinHexBin
0000081000
1000191001
20010A1010
30011B1011
40100C1100
50101D1101
60110E1110
70111F1111

Пример: 3B163=0011,B=10110011101123\text{B}_{16} \rightarrow 3 = 0011, \text{B} = 1011 \rightarrow 00111011_2.

Из восьмеричной системы (основание 8)

Каждая восьмеричная цифра заменяется группой из трех двоичных разрядов (триадой).

Пример: 5285=101,2=010101010252_8 \rightarrow 5 = 101, 2 = 010 \rightarrow 101010_2.

Общие правила и советы

  1. Промежуточный перевод: Если вам нужно перевести число из системы с основанием, не связанным с двойкой (например, из пятеричной или троичной), используйте десятичную систему как «мост»: Система XДесятичнаяДвоичная\text{Система X} \rightarrow \text{Десятичная} \rightarrow \text{Двоичная}.
  2. Разряды: Помните, что в двоичной записи самого правого разряда соответствует 202^0 (единица), следующего — 212^1 (двойка) и так далее.
  3. Проверка: Чтобы не ошибиться, всегда пробуйте перевести результат обратно. Например, для 11001211001_2: (124)+(123)+(022)+(021)+(120)=16+8+0+0+1=25(1 \cdot 2^4) + (1 \cdot 2^3) + (0 \cdot 2^2) + (0 \cdot 2^1) + (1 \cdot 2^0) = 16 + 8 + 0 + 0 + 1 = 25.

Часто задаваемые вопросы

Что делать, если нужно перевести дробное число в двоичную систему?
Целая часть переводится обычным делением на 2. Дробная часть переводится путем последовательного умножения на 2: если результат ≥ 1, записывается 1 и остаток умножается снова, если < 1 — записывается 0. Процесс повторяется до получения нуля или достижения нужной точности.
Почему при переводе из десятичной системы в двоичную число становится длиннее?
Это происходит из-за разности оснований систем. В десятичной системе у нас есть 10 символов для кодирования значения, а в двоичной — всего два (0 и 1). Чтобы передать тот же объем информации, требуется большее количество разрядов.
Как быстро проверить правильность перевода?
Самый простой способ — перевести полученное двоичное число обратно в десятичное. Для этого нужно умножить каждую цифру на 2 в степени её позиции (начиная с 0 справа налево) и сложить результаты. Если получилось исходное число, перевод выполнен верно.
Можно ли перевести число из любой системы напрямую в двоичную?
Напрямую можно переводить из систем с основанием, являющимся степенью двойки (8, 16, 32, 64). Для всех остальных систем (например, троичной или пятеричной) сначала необходимо перевести число в десятичную систему, а затем из неё — в двоичную.