Программирование • 18 февраля 2025 • 5 мин чтения

Двоичная (бинарная) система счисления: что это и как ей пользоваться

Рассказываем, как устроена двоичная система счисления и где она применяется. Объясняем её принципы, способы преобразования и свойства бинарных чисел

Что такое системы счисления

Системы счисления — это способы представления чисел через определённые символы. Они позволяют с помощью ограниченного набора цифр или букв выражать неограниченный набор чисел. Такие системы применяются для записи и обработки числовой информации в различных областях, например в математике, программировании и инженерии.

Исходя из количества используемых цифр системы счисления делятся на несколько видов.

  • Двоичная — состоит из двух цифр: 0 и 1.
  • Восьмеричная — базируется на цифрах 0 до 7.
  • Десятичная — включает десять цифр: от 0 до 9.
  • Шестнадцатеричная — по ней числа записываются 16 символами: цифрами от 0 до 9 и буквами от A до F.

Пример представления чисел в различных системах счисления

Разобраться в системах счисления и получить другие базовые знания, которые пригодятся в IT, поможет бесплатный курс «Основы программирования». Он позволит развить алгоритмическое мышление, научиться читать и писать простой код на Python, а также проверить свои знания на онлайн-тренажёре.

Двоичная система счисления

В двоичной, или бинарной, системе счисления числа записываются только двумя цифрами — 0 и 1, которые называются битами. Они позволяют преобразовать любой цифровой или буквенный символ в двоичную систему. К примеру, число 7 в ней будет выглядеть как 010, а латинская буква «B» — как 01100010.

Если десятичную систему счисления люди постоянно используют в обычной жизни (например, она применяется в нумерации квартир), то двоичная встречается редко. Одним из её недостатков является то, что в бинарной системе числа получаются слишком длинными, и человеку сложно их воспринимать. Допустим, 43 в ней выглядит так: 00110100 00110011, а слово cat («кот») так: 01100011 01100001 01110100 00001010.

В основном двоичная система счисления применяется в компьютерах и других электронных устройствах. Это связано с тем, что они работают на электричестве, которое либо есть, либо нет, то есть 1— это высокое напряжение, а 0 — низкое. Использование двоичной системы в этой сфере объясняется и логикой программ, в которых есть выражения истины (true) и лжи (false) — 1 и 0 соответственно. Таким образом, для компьютеров бинарная система счисления имеет ряд преимуществ: например, помогает выполнять математические и логические вычисления, хранить и передавать данные.

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

Применение двоичной системы счисления

Рассмотрим сферы использования бинарной системы счисления.

  • IT. Как мы уже говорили выше, она лежит в основе работы всех электронных устройств, например компьютеров, смартфонов и серверов. С помощью компиляторов они переводят код, написанный программистом, в машинный. Сами программисты используют двоичную систему счисления для создания логики программ. К примеру, при написании алгоритмов они строят высказывания на основе булевых переменных. Допустим, если выражение A равно выражению B, алгоритм выдаст true, а если нет — false.
  • Криптография. С помощью бинарной системы счисления реализуется процесс шифрования информации: она преобразуется в последовательность битов. Таким же образом происходит хеширование — сохранение данных в неизменном виде путём перевода их в двоичный код. Кроме того, она используется для генерации цифровых подписей, которые нужны для подтверждения онлайн-операций, например оплаты криптовалютой.
  • Телекоммуникации. Двоичный код используется для кодирования и декодирования сигналов при передаче информации по телефонным линиям, кабельным сетям и беспроводным соединениям на большие расстояния. Он также позволяет оптимизировать пропускную способность каналов связи и повысить эффективность передачи данных.
  • Математика. Бинарная система счисления широко применяется для решения логических задач и разработки алгоритмов. К примеру, так можно вычислить количество комбинаций в задачах по комбинаторике. Допустим, число подмножеств одного множества представляют как число возможных двоичных векторов определённой длины.
  • Генетика. Для записи генетических данных в молекулах ДНК и РНК применяются четыре «буквы» — нуклеотиды (А, Т, Г, Ц). В двоичном коде каждая буква соответствует определённой последовательности из двух битов. Например, А можно представить как 00, Т — как 01, Г — как 10, а Ц — как 11.
  • Музыка. Бинарная система счисления подходит для обучения музыкальных нейронных сетей. Она помогает анализировать и синтезировать музыку, создавать новые ритмы и звуки, улучшать качество музыкальных композиций.

Принципы работы бинарной системы счисления

Разберёмся, в чём особенности двоичной системы счисления. Для этого необходимо знать её основные принципы:

  • Использование двух цифр. Вся информация переводится в комбинацию 0 и 1, даже если речь идёт о тексте.
  • Позиционное обозначение. Все цифры имеют определённый «вес», который зависит от их позиции в числе. Он растёт справа налево, что позволяет представлять числа от 0 до бесконечности.
  • Вес позиций. Он обозначается как степень двойки. К примеру, младший бит обозначается как 2о = 1(10). 1(10) — единица в десятичной системе счисления. Следом идёт бит с весом 21 = 2(10).
Вес каждой позиции в бинарной системе — это, по сути, удвоение веса предыдущей позиции

Способы преобразования и примеры

Понимание устройства двоичного кода позволяет перевести его в другие системы счисления и обратно. Допустим, необходимо преобразовать десятичное число в бинарное:

Алгоритм преобразования числа из десятичной системы счисления в двоичную

Возьмём для примера число 17. Для перевода его в бинарный код нужно проделать следующие вычисления:

17 / 2 = 8 с остатком 1.

8 / 2 = 4 с остатком 0.

4 / 2 = 2 с остатком 0.

2 / 2 = 1 с остатком 0.

1 / 2 = 0 с остатком 1.

Теперь необходимо записать остатки справа налево. В итоге получаем, что 17 в бинарной системе счисления — 10001.

Для обратного преобразования из бинарного кода в десятичный нужно представить число в виде суммы произведений его цифр на степени двойки, причём первая будет в степени ноль. Допустим, так выглядит процесс перевода двоичного числа 10000 в десятичное:

10000 = 0 * 20 + 0 * 21 + 0 * 22 + 0 * 23 + 1 * 24 = 0 + 0 + 0 + 0 + 16 = 16.

Таким образом, двоичное число 10000 — это 16 в десятичной системе.

Отдельно стоит сказать о преобразованиях отрицательных чисел. По сути, в двоичном коде их нет, поэтому при переводе из десятичной системы происходит инверсия битов (изменение 0 на 1 и наоборот) и добавление единицы к результату.

Возьмём, к примеру, число –3. Сначала его нужно перевести в бинарную систему счисления, получится 01. Следом нужно провести инверсию каждого бита: 01 → 10. А в конце добавить единицу: 10 → 11.

Свойства чисел в бинарной системе

Существуют лайфхаки, которые упростят понимание двоичного кода и преобразование чисел из одной системы счисления в другую:

  • В конце чётных чисел десятичной системы при переводе в бинарный код всегда стоит 0, а в конце нечётных — 1. Допустим, число 2 в двоичной системе будет 10, а 3 — 011.
  • Числа десятичной системы, которые можно разделить на 4, оканчиваются на 00. К примеру, 16 в бинарном коде будет выглядеть как 10000.
  • Если число можно разделить на 2k, в двоичной системе счисления в конце него k нулей. Так, 64 — это 26, или 01000000.
  • Числа, которые можно представить как 2k-1, выражаются k единицами. Допустим, 15 = 24-1 = 11112.
  • Если число N находится в диапазоне 2k-1 <= N < 2k, его бинарный код состоит из k цифр. Например: 125 = 26 = 64 <= 125 < 128 = 27, 125 = 11111012.

Зная бинарный код числа, можно получить запись его в степени два, добавив 0 в конец. К примеру, 3 = 11, 6 = 110, 12 = 1100.

Совет эксперта

Пётр Кушнир
Для изучения двоичной системы счисления полезно вручную на бумаге попробовать преобразования чисел. Достаточно один раз усвоить, как она работает, и дальше можно пользоваться ей интуитивно. При этом программисту редко нужно самостоятельно переводить цифры в бинарную систему счисления, обычно это делает компилятор, или можно воспользоваться онлайн-сервисами. Однако её знание позволяет понять, как устроены компьютеры и как работать с ограничениями двоичной системы, допустим с отрицательными числами и дробями. К примеру, эти знания подскажут разработчику, что лучше не использовать в коде длинные числа, потому что в бинарной системе, на которой работает компьютер, они станут ещё длиннее, а значит, программа будет долго их обрабатывать.
Статью подготовили:
Пётр Кушнир
Яндекс Практикум
Автор курса «Java-разработчик»
Женя Соловьёва
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться
Как найти работу после онлайн-курсов в 2025: советы реальных выпускников. Бесплатный вебинар 27 февраля
Tue Feb 18 2025 13:20:55 GMT+0300 (Moscow Standard Time)