Обложка: Что такое системы счисления? Простыми словами
13 июня 2026 г.Железо

Что такое системы счисления? Простыми словами

Здравствуй, дорогой читатель. Сегодня Автор предлагает поговорить о странной вещи: почему число `10` не всегда означает десять. Да, звучит как начало спора с учителем математики, но в мире компьютеров это совершенно нормальная ситуация.

Мы привыкли считать в десятичной системе. Десять пальцев, десять цифр, после 9 идёт 10. Всё уютно.

А компьютер внутри чаще думает нулями и единицами. Программисты иногда пишут FF, и это тоже число. На кассе вам скажут 255 рублей, а в памяти компьютера может лежать 11111111. И всё это может быть одной и той же величиной.

Давайте разбираться без сухой математики. Сначала коробки и жетоны, потом двоичная система, шестнадцатеричная запись и немного честного UPD.

Алиса смотрит на карточки 10, 1010 и A, пока Илья раскладывает жетоны по коробкам
Одна и та же величина может быть записана разными способами.

История про коробки с жетонами

Представьте, что Алиса, Илья и Арина играют в магазин. На столе лежат красные жетоны. Каждый жетон — это одна конфета.

Алиса считает привычно:

— Один, два, три, четыре...

Арина пока просто перекладывает жетоны из одной кучки в другую. Технически она уже участвует в вычислениях, просто без лишней теории.

Илья приносит коробки.

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

Алиса смотрит:

  • 0 жетонов — пишем 0;
  • 1 жетон — 1;
  • 9 жетонов — 9;
  • добавили ещё один — маленькая кучка обнулилась, а слева появилась одна закрытая коробка.

Получилось 10.

И вот важный момент: 10 здесь не потому, что вселенная так решила. 10 означает: одна коробка десятков и ноль отдельных жетонов.

Это и есть привычная десятичная система счисления.

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

Если совсем просто, система счисления — это правила, по которым мы записываем количество с помощью символов.

У системы есть два главных элемента:

  1. Набор цифр. Например, в десятичной системе это 0 1 2 3 4 5 6 7 8 9.
  2. Основание. Это число, после которого текущий разряд переполняется и переносится в следующий.

В десятичной системе основание — 10. Поэтому после 9 мы не придумываем новую цифру, а пишем 10.

В двоичной системе основание — 2. Там есть только две цифры: 0 и 1. После 1 уже наступает переполнение, поэтому дальше идёт 10.

— Подожди, — говорит Алиса. — То есть в двоичной системе 10 — это не десять?

— Вот тут и начинается интересное, — отвечает Илья.

Илья показывает коробку 10 с цифрами 0-9 и коробку 2 с цифрами 0-1
Основание системы показывает, когда разряд переполняется.

Почему 10 бывает разным

Вернёмся к коробкам.

В десятичной игре коробка вмещает десять жетонов. Поэтому запись 10 означает:

  • 1 коробка по 10;
  • 0 отдельных жетонов.

Итого десять.

А теперь Илья меняет правила:

— Представим, что коробка очень маленькая. В неё помещается только два жетона. Как только жетонов стало два, мы закрываем коробку и переносим её левее.

Теперь считаем:

  • 0 — ничего;
  • 1 — один жетон;
  • добавляем ещё один — текущий разряд переполнился;
  • пишем 10.

Но теперь 10 означает:

  • 1 коробка по 2;
  • 0 отдельных жетонов.

Итого два.

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

Число — это количество. Запись числа — это способ это количество показать.

Десятичная система: наш бытовой язык

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

В десятичной системе каждая позиция справа налево становится в 10 раз тяжелее:

  • единицы;
  • десятки;
  • сотни;
  • тысячи.

Число 347 — это не просто три цифры рядом. Это:

  • 3 сотни;
  • 4 десятка;
  • 7 единиц.

То есть 300 + 40 + 7.

Именно поэтому позиция важна. В записи 734 те же цифры, но смысл другой: 7 сотен, 3 десятка, 4 единицы.

Это называется позиционная система счисления. Цифра получает смысл не только сама по себе, но и по месту, где она стоит.

Алиса раскладывает число 347 по коробкам 100, 10 и 1
В позиционной записи место цифры меняет её вес.

Двоичная система: язык выключателей

Теперь к компьютерам.

Компьютеру неудобно хранить десять разных состояний. Зато ему очень удобно хранить два устойчивых состояния:

  • есть сигнал;
  • нет сигнала.

Или в более бытовом виде:

  • лампочка выключена;
  • лампочка включена.

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

— Каждая лампочка может быть только в двух состояниях: 0 или 1. Это бит.

Алиса быстро понимает:

  • одна лампочка показывает 2 варианта: 0 или 1;
  • две лампочки показывают 4 варианта: 00, 01, 10, 11;
  • три лампочки показывают 8 вариантов.

Чем больше лампочек, тем больше чисел можно записать.

В двоичной системе разряды тоже становятся тяжелее справа налево, только не в 10 раз, а в 2 раза:

  • 1;
  • 2;
  • 4;
  • 8;
  • 16;
  • 32;
  • 64;
  • 128.

Например, запись 1010 в двоичной системе означает:

  • 1 разряд по 8;
  • 0 разрядов по 4;
  • 1 разряд по 2;
  • 0 разрядов по 1.

Получается 8 + 2 = 10 в десятичной системе.

Вот почему 1010 для компьютера — это просто десять, записанное его удобным способом.

Включенные лампочки 8 и 2 показывают двоичную запись 1010 как число 10
Двоичная запись 1010 — это 8 плюс 2.

Почему тогда люди не пишут всё двоично

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

Но, дорогой читатель, попробуйте быстро прочитать:

1101011010110010

Неуютно.

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

Поэтому люди придумали более компактные записи. Самая популярная в программировании — шестнадцатеричная система, или hexadecimal.

Шестнадцатеричная система: короткая запись для длинных битов

В шестнадцатеричной системе основание — 16. Но обычных цифр у нас только десять: от 0 до 9. Поэтому для значений от 10 до 15 используют буквы:

  • A — десять;
  • B — одиннадцать;
  • C — двенадцать;
  • D — тринадцать;
  • E — четырнадцать;
  • F — пятнадцать.

Зачем это нужно?

Потому что одна шестнадцатеричная цифра ровно соответствует четырём битам.

Например:

  • 1111 в двоичной системе — это F в шестнадцатеричной;
  • 1010 — это A;
  • 0000 — это 0.

Длинная двоичная запись 11111111 превращается в короткое FF.

А FF — это 255 в десятичной системе.

— То есть 255, 11111111 и FF могут быть одним и тем же количеством? — спрашивает Алиса.

— Да, — говорит Илья. — Просто записаны на разных языках.

Арина в этот момент гордо показывает два одинаковых жетона в разных коробках. И, надо признать, суть она уловила.

Восемь единиц 11111111 группируются по четыре и превращаются в две карточки F
Шестнадцатеричная запись нужна людям, чтобы компактно читать длинные двоичные числа.

Где мы встречаем системы счисления в жизни

Даже если вы не программист, системы счисления вокруг вас встречаются постоянно.

Время

Самый знакомый пример — часы.

Мы не говорим: 10 часов 75 минут. Мы говорим: 11 часов 15 минут. Почему? Потому что минуты живут по правилу: как только набралось 60 минут, они превращаются в один час, а счёт минут снова начинается с нуля.

Это очень похоже на наши коробки с жетонами. Только коробка называется "час", а внутрь помещается 60 минут.

Секунды работают так же: 60 секунд превращаются в одну минуту.

А с часами ещё интереснее. В сутках 24 часа, но на циферблате часто всего 12 делений. Поэтому после 12 снова идёт 1. Это не ошибка часов, а другое правило записи времени.

— То есть когда на часах после 12 снова 1, это как после 9 в десятичной системе появляется 10? — спрашивает Алиса.

— По смыслу да, — отвечает Илья. — Просто основание другое, и запись устроена под удобство людей.

Арина в этот момент переводит игрушечные часы сразу с 3 на 8. С точки зрения точности плохо, с точки зрения иллюстрации — вполне убедительно.

Алиса держит игрушечные часы, а Илья показывает как 60 маленьких единиц становятся одной большой
Время тоже считает не только десятками: 60 секунд, 60 минут, 24 часа.

Дюжины, упаковки и коробки

Ещё один бытовой пример — дюжина. Это 12 штук.

Яйца часто продают по 10, 12 или 30. Газировку — упаковками по 6. Бумагу — пачками по 500 листов. Никто не мешает считать всё по одному, но человеку удобнее объединять предметы в группы.

Когда продавец говорит "две упаковки по шесть", он фактически использует идею разрядов: есть крупная единица — упаковка, и есть отдельные штуки.

Если у Алисы 2 коробки по 12 карандашей и ещё 3 карандаша отдельно, то всего у неё 27 карандашей. Но записать ситуацию можно не только как "27", а как "2 дюжины и 3 штуки".

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

Календарь и возраст

Календарь тоже не считает всё ровными десятками.

В неделе 7 дней. В месяце может быть 28, 29, 30 или 31 день. В году 12 месяцев. Поэтому дата — это не просто большое количество дней от начала времён, а запись в нескольких "коробках": год, месяц, день.

Например, 12 июня 2026 года — это не одно длинное число, а удобная человеческая запись: годовая коробка, месячная коробка и день внутри месяца.

Компьютер, кстати, часто хранит время иначе: как количество секунд или миллисекунд от выбранной точки отсчёта. А человеку показывает привычную дату. Потому что человеку удобнее жить в календаре, а машине — в числах.

Цвета в вебе

Цвета на сайтах часто записывают в шестнадцатеричном виде:

#FF0000

Это красный. Первые две цифры отвечают за красный канал, следующие две — за зелёный, последние две — за синий.

FF означает максимум. 00 означает минимум. Поэтому #FF0000 — максимум красного, ноль зелёного, ноль синего.

Права доступа

В Linux и других Unix-подобных системах права доступа часто записывают восьмеричными числами: например, 755 или 644.

Там используется основание 8. Для обычного пользователя это может выглядеть странно, но для системы это компактный способ записать набор разрешений: читать, писать, выполнять.

IP-адреса и память

IP-адреса мы обычно пишем десятичными числами через точки: 192.168.1.1. Но внутри это тоже набор битов.

Адреса памяти, коды ошибок, байты файлов, цвета, машинные инструкции — всё это часто удобнее смотреть в шестнадцатеричном виде.

Не потому, что программисты хотят выглядеть загадочно. Хотя иногда хотят. Но главным образом потому, что так короче и меньше шансов потеряться в длинной цепочке нулей и единиц.

Мифы

Миф

двоичная система — это какая-то особая математика для компьютеров.

На самом деле

На самом деле: математика та же. Меняется способ записи. Два плюс два остаётся четырьмя, просто в двоичной системе четыре записывается как 100.

Миф

шестнадцатеричные числа — это шифр.

На самом деле

На самом деле: это не шифр, а удобная запись. Если вы знаете правила, FF читается так же спокойно, как 255.

Миф

десятичная система правильная, остальные искусственные.

На самом деле

На самом деле: десятичная система привычная, а не единственно правильная. Для человека удобны десятки, для электроники — два состояния, для программиста — компактная шестнадцатеричная запись.

Миф

если число записано по-другому, оно стало другим числом.

На самом деле

На самом деле: количество не меняется. Меняется язык записи. Как "дом", "house" и "casa" могут указывать на один и тот же дом.

Итог

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

В десятичной системе текущий разряд переполняется после 9. В двоичной — после 1. В шестнадцатеричной — после F.

Главная мысль простая: число и запись числа — не одно и то же. Количество конфет на столе одно, а записать его можно как 10, 1010 или A — смотря на каком языке счёта мы говорим.

Та же идея живёт в часах, календарях, упаковках и коробках. 60 секунд превращаются в минуту, 12 месяцев — в год, 12 штук — в дюжину. Мы постоянно считаем группами, просто обычно не называем это системами счисления.

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

Карточки 10, 1010 и A указывают на одну и ту же кучку жетонов
Разные записи, одно количество.