Оплатите год вперёд
и сэкономьте 30 % на каждом уроке

Забрать скидку
8–11Информатика

Системы счисления: двоичная, восьмеричная и шестнадцатеричная

Системы счисления одна из первых тем ЕГЭ и ОГЭ по информатике. Компьютер хранит всё в двоичном виде, а программисты записывают числа в шестнадцатеричном. Разбираем перевод в обе стороны, быстрые приёмы и показываем, как проверить себя на Python.

Для учеников 8–11 классов.

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

В привычной десятичной системе каждая цифра стоит на месте с весом: единицы, десятки, сотни. Это степени десяти. В двоичной системе всё так же, только веса это степени двойки: 1, 2, 4, 8, 16, 32 и так далее, а цифр всего две, 0 и 1.

345₁₀ = 3 · 10² + 4 · 10¹ + 5 · 10⁰

Из двоичной в десятичную

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

Задача

Переведите 101101₂ в десятичную систему.

Веса справа налево: 1, 2, 4, 8, 16, 32.

Единицы стоят на местах с весами 32, 8, 4 и 1.

32 + 8 + 4 + 1 = 45.

Ответ: 45.

Из десятичной в двоичную

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

Задача

Переведите 45 в двоичную систему.

45 : 2 = 22, остаток 1. 22 : 2 = 11, остаток 0. 11 : 2 = 5, остаток 1.

5 : 2 = 2, остаток 1. 2 : 2 = 1, остаток 0. 1 : 2 = 0, остаток 1.

Остатки снизу вверх: 101101.

Ответ: 101101₂.

Другой способ: вычитать наибольшие степени двойки. 45 = 32 + 13 = 32 + 8 + 5 = 32 + 8 + 4 + 1. Ставим единицы на места 32, 8, 4 и 1.

Восьмеричная и шестнадцатеричная через группы

8 = 2³ и 16 = 2⁴, поэтому переводить между ними и двоичной системой очень просто. Разбиваем двоичную запись справа налево на группы по три цифры для восьмеричной и по четыре для шестнадцатеричной.

  • 101101₂ → 101 101 → 5 и 5 → 55₈. Проверка: 5 · 8 + 5 = 45.
  • 101101₂ → 0010 1101 → 2 и 13 → 2D₁₆. В шестнадцатеричной цифры после 9 обозначают буквами: A = 10, B = 11, C = 12, D = 13, E = 14, F = 15.

Задача в духе ЕГЭ

Задача

Сколько единиц в двоичной записи числа 4²⁰ + 2¹⁰ − 1?

4²⁰ = 2⁴⁰. В двоичной записи это единица и сорок нулей.

2¹⁰ − 1 это десять единиц подряд: 1111111111.

Они стоят на разных местах и не перекрываются, поэтому при сложении единицы просто объединяются: 1 + 10 = 11.

Ответ: 11.

Такие задачи на экзамене удобно проверять программой. На Python: bin(420 + 210 - 1).count('1') даёт 11. Перевод в обе стороны: int('101101', 2) вернёт 45, а bin(45) строку '0b101101', hex(45) строку '0x2d'.

Разберём на занятии

Занимаемся по всем школьным предметам с 4 по 11 класс: живые занятия, общая доска и домашка, которую проверяет тот же преподаватель.

Первое занятие бесплатное: можно посмотреть формат вместе с ребёнком и решить, подходит ли он.

Частые вопросы

Зачем нужна шестнадцатеричная система?

Она компактно записывает двоичные данные: одна шестнадцатеричная цифра это ровно четыре двоичных. Так записывают цвета на сайтах (#FF8800), адреса в памяти и коды символов.

Какой язык программирования учить для ЕГЭ по информатике?

Чаще всего выбирают Python: в нём короткий код и много готовых функций, например для перевода систем счисления. О поступлении на IT-направления читайте отдельную статью.