Код
#статьи

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

Знакомимся с языком шифров и компьютеров — нулями и единицами.

Иллюстрация: Оля Ежак для Skillbox Media

Представьте, что вы первый человек на Земле и вам нужно что-то посчитать: предметы, расстояние, время и так далее. Это упростит жизнь, а также опишет её с помощью чисел.

Число — это какое-то количество, и его ещё нужно как-то зафиксировать. Поэтому люди придумали правило, по которому записывали числа определёнными символами — цифрами. Это правило называлось системой счисления.

Потом появились компьютеры, которые тоже работали с цифрами. Но привычную нам арабскую систему машинам «объяснить» было невозможно. На помощь пришла двоичная (бинарная) система из нулей и единиц, придуманная задолго до компьютеров.

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

Из статьи вы узнаете:


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

Для записи числа нужен символ. Это может быть как буква «β» (бета) греческого алфавита, так и | (чёрточка). Главное — чтобы символ всегда означал одно и то же количество, имел то же значение. Эти символы назвали цифрами.

Система счисления — это набор цифр, каждая из которых обозначает определённое количество. Системы счисления бывают позиционные и непозиционные. Разберём это на простых примерах.

Возьмём игральные кости и попробуем описать их значения чёрточками:

Изображение: Лев Сергеев для Skillbox Media

Перед нами — унарная (единичная) система счисления. Это значит, что в нашем распоряжении есть только один символ. Это не совсем удобно. Поступим по-другому: придумаем для каждого набора чёрточек свои символы. Например:

Изображение: Лев Сергеев для Skillbox Media

Символов теперь больше, а запись короче. Такую «кодировку» можно назвать шестеричной системой счисления, в которой 6 цифр:

  • A = 1
  • B = 2
  • C = 3
  • D = 4
  • E = 5
  • F = 6

Уже лучше, но данная система, как и единичная, — непозиционная. Это значит, что положение цифры в записи никак не связано с разрядностью (единицы, десятки, сотни, тысячи и так далее). Классический пример — римская форма записи:

Изображение: Лев Сергеев для Skillbox Media

Такая запись страшно затрудняет не только вычисления, но даже запись чисел, особенно больших, дробных или нерациональных — попытайтесь, например, записать «по-римски» число π (3,1415926535…).

Эту проблему решили позиционные системы счисления, самая популярная из которых — арабская. Разница — налицо. Достаточно посмотреть на запись числа 2023:

Изображение: Лев Сергеев для Skillbox Media

Если в первом случае поменять местами цифры M и X, значение числа не изменится — римляне считывали цифры от больших к меньшим.

Правда, у этого правила была пара исключений. Для удобства записи четвёрку записывали как IV, а девятку — как IX. Но в целом римская нумерация была непозиционной — точно так же, как древнеегипетская, греческая, вавилонская и прочие ветхозаветные.

А вот во втором случае, переставив цифры, мы получим совершенно разные результаты: 0223, 2320 и так далее.

Позиционные системы счисления имеют разряды. Их мы и меняли местами в примере выше. Разряд не может вмещать в себя число меньше или больше, чем основание системы. Основание — это количество цифр в системе счисления.

Изображение: Лев Сергеев для Skillbox Media

Пример позиционных систем:

НазваниеОснованиеЦифры
Двоичная (бинарная)20 1
Восьмеричная80 1 2 3 4 5 6 7
Десятичная100 1 2 3 4 5 6 7 8 9
Шестнадцатеричная160 1 2 3 4 5 6 7 8 9 A B C D E F

Двоичная (бинарная) система счисления

Двоичная (или бинарная) система счисления — это позиционная система счисления с основанием 2.

Принцип считать двумя цифрами берёт своё начало ещё в Древнем Китае. Но развитие современной бинарной системы началось в XVII веке, а применение нашлось только в середине XX века.

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

В 1605 году английский астроном и математик Томас Хэрриот описал двоичное представление чисел, а философ Фрэнсис Бэкон создал шифр из двух символов — A и B.

В 1670 году испанский богослужитель Хуан Карамюэль-и-Лобковиц опубликовал представление чисел в разных системах счисления, в том числе и двоичной.

Но самым значительным событием стали работы немецкого математика Готфрида Лейбница, который в 1703 году описал двоичную арифметику — математические операции с двоичными числами.

В 1838 году американский изобретатель Сэмюэл Морзе создал одноимённый шифр, содержащий два символа: «точка» и «тире». Их можно было передавать по телеграфу в виде длинных и коротких сигналов. Азбука Морзе не была бинарной системой в строгом смысле слова, но двоичный принцип впервые показал свою значимость.

В 1847 английский математик Джордж Буль изобрёл «булеву алгебру», в которой было два понятия («ложь» и «истина»), а также ряд логических законов.

В 1937 году американский инженер Клод Шеннон объединил бинарный принцип, булеву логику и электрические схемы и ввёл понятие «бит» — минимальное количество информации:

  • 0 — ложь — нет тока (0 бит);
  • 1 — истина — есть ток (1 бит).

С тех пор двоичную (бинарную) систему счисления стали использовать все ЭВМ, в том числе и современные компьютеры.

Числа в двоичной системе счисления

Двоичное число — это число, состоящее из двоичных цифр. А у нас их всего две. Принято обозначать 0 и 1, но, как показала практика, это могут быть и два разных значения: «лампа горит» и «лампа не горит», «ток» и «нет тока» и так далее.

В следующей таблице приведены числа в двоичной системе (зелёный столбец) и соответствующие им числа в других часто используемых системах счисления — восьмеричной, десятичной и шестнадцатеричной.

Изображение: Лев Сергеев для Skillbox Media

Преимущества и недостатки двоичной (бинарной) системы счисления

Явные минусы двоичной системы обусловлены тем, что на интуитивном уровне людям она чужда — в отличие, например, от десятичной. И это — первый недостаток. Пройдёмся по остальным:

  • Длинная запись, неудобство с большими числами. Возьмём, к примеру, обозначение белого цвета в RGB-палитре: 25510, 25510, 25510 (здесь и далее нижний индекс указывает основание системы — двоичная, десятичная и так далее). Значения цветов принято записывать в шестнадцатеричной системе счисления (FF16, FF16, FF16). Если перевести это в бинарный вид, получится громоздко и непонятно:
Изображение: Лев Сергеев для Skillbox Media
  • Долгое время ручных вычислений.
  • Не применяется в повседневной жизни (если, конечно, вы не компьютер).

А вот для ЭВМ бинарочка — как родная. И отсюда следуют её плюсы:

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

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

Возьмём любое бинарное число, например 10102. Двоичная система счисления имеет разряды, пронумерованные справа налево:

Изображение: Лев Сергеев для Skillbox Media

Чтобы перевести двоичное число на человеческий язык, берём цифру из наименьшего разряда, умножаем на основание 2 в степени текущего разряда. Потом переходим к следующим разрядам и всё это складываем:

Изображение: Лев Сергеев для Skillbox Media

Есть метод попроще. Если в двоичном числе попадается цифра 0, сразу её вычёркиваем и складываем оставшиеся разряды:

Изображение: Лев Сергеев для Skillbox Media

В бинарной системе счисления много интересных закономерностей. Например, посмотрите, как «перемещается» единица (бит) с ростом степени десятичной двойки:

Изображение: Лев Сергеев для Skillbox Media

Если взять пример из предыдущего раздела с шестнадцатеричным значением палитры RGB FF16 = 1111 11112, перевод будет выглядеть так:

Изображение: Лев Сергеев для Skillbox Media

Здесь мы имеем все единицы всех разрядов, а значит, складываем степени двойки от 0 до 7, и получаем такой результат:

Изображение: Лев Сергеев для Skillbox Media

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

Переведём, например, число 910 в бинарное представление. Для этого нужно столбиком разделить его на основание, то есть на 2:

Изображение: Лев Сергеев для Skillbox Media

При делении любого числа на 2 в остатке всегда будет либо 0, либо 1. И этот остаток не нужно трогать, а нужно продолжать делить каждый новый результат на 2, пока не останется единица:

Изображение: Лев Сергеев для Skillbox Media

В конце эти нолики и единицы нужно собрать в обратном порядке, как показано на рисунке выше, и вы получите двоичное представление: 910 = 10012.

Подведём итоги

  • Число — это количество, а цифра — символ, обозначающий это количество.
  • Система счисления — набор цифр и согласованное правило описания чисел. Основание системы счисления — это количество цифр в ней.
  • Разряд — это индекс цифры, который начинается с нуля и отсчитывается справа налево.
  • В непозиционных системах нет разрядов и положение цифр не зависит от результата, а в позиционных строго соблюдены разряды.
  • Двоичная (или бинарная) система счисления имеет лишь два значения, что отлично воспринимается любой компьютерной системой.
  • Бит — единица информации в двоичной системе, 0 или 1.

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

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована