💻 Информатика 10 класс

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

Представь: ты открываешь инспектор элементов в браузере и видишь странные символы вроде #FF5733. Или смотришь код игры и натыкаешься на 0x1A3F. Что это? Какой-то тайный язык программистов? На самом деле — это просто другой способ записи чисел. И сегодня мы разберемся, почему компьютеры «думают» не так, как мы, и как это использовать в свою пользу.

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

10.1. Откуда взялись системы счисления

Как вообще люди начали считать? Археологи находят древние кости с зарубками — каждая зарубка обозначала один предмет. Пять оленей — пять зарубок. Двадцать оленей — двадцать зарубок. Такая система называется унарной (от слова «один»). Но попробуй записать так число 1000 — рука устанет!

💡 Где ты встречал унарную систему?

Подумай: когда ты отмечаешь дни в календаре палочками или считаешь очки в игре черточками — это она и есть!

📖 Определение

Система счисления — это набор правил для записи чисел с помощью определенного набора символов (цифр). Количество доступных цифр называется основанием системы счисления.

Пример из прошлого: римская система

От жестов к символам: как люди придумывали способы записи чисел

От жестов к символам: как люди придумывали способы записи чисел

Древние римляне придумали свою систему около 2500 лет назад. Они использовали буквы: I (1), V (5), X (10), L (50), C (100), D (500), M (1000).

🔢 Пример записи

Например, число 2024 они бы записали как MMXXIV.

Разложим: MM (1000 + 1000) + XX (10 + 10) + IV (5 − 1).

Обрати внимание на хитрость: меньшая цифра СЛЕВА от большей означает вычитание, а справа — сложение.

🤔 Интересный вопрос

Можно ли римскую систему считать полностью непозиционной? Подсказка: подумай о правиле «меньший символ слева от большего».

❌ Почему от непозиционных систем отказались

Непозиционные системы неудобны:

  • Для больших чисел нужно постоянно вводить новые символы
  • Невозможно записать дроби или отрицательные числа
  • Арифметические операции превращаются в кошмар (попробуй умножить MCMXCIV на XLVII!)

10.2. Магия позиции: как место цифры меняет её значение

Позиционная магия: одна цифра, три значения — всё зависит от места

Позиционная магия: одна цифра, три значения — всё зависит от места

Давай проведем мысленный эксперимент. Возьми число 555. Все три цифры одинаковые, но означают разное!

Первая пятёрка

500

Пять сотен

Вторая пятёрка

50

Пять десятков

Третья пятёрка

5

Пять единиц

✨ Главная идея

Это и есть позиционная система: значение цифры зависит от её позиции в числе.

Как это придумали

История позиционной системы — это детективная история длиной в тысячелетия. Начали древние египтяне и вавилоняне, а завершили индийские математики в V–VII веках н.э.

💡 Главное изобретение — ноль

Да-да, ноль нужно было изобрести! Без него непонятно, чем отличается 25 от 205.

🌍 Распространение по миру

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

💬 Цитата великого математика

Французский математик Пьер Симон Лаплас сказал: «Мысль выражать все числа немногими знаками, придавая им значение не только по форме, но и по месту, настолько проста, что именно из-за этой простоты трудно оценить, насколько она удивительна».

Как устроены позиционные системы

Любая позиционная система определяется числом q > 1 — это её основание. Основание говорит нам:

🔢 Алфавит системы

Сколько разных цифр мы используем (от 0 до q−1)

⚡ Правило переноса

Во что превращается разряд при переполнении (q единиц = 1 единица следующего разряда)

Популярные системы счисления:

Двоичная (q=2)

01

Алфавит {0, 1} — язык процессоров

Троичная (q=3)

012

Алфавит {0, 1, 2} — использовалась в советском компьютере «Сетунь»

Восьмеричная (q=8)

01234567

Компактная запись двоичных чисел

Десятичная (q=10)

0123456789

Наша привычная система

Шестнадцатеричная (q=16)

0123456789ABCDEF

Для цветов в web, адресов памяти

Развёрнутая и свёрнутая формы записи

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

📝 Пример развёрнутой формы

Число 125 248₁₀ раскладывается так:

125 248 = 1·10⁵ + 2·10⁴ + 5·10³ + 2·10² + 4·10¹ + 8·10⁰
        = 1·100000 + 2·10000 + 5·1000 + 2·100 + 4·10 + 8·1
        = 100000 + 20000 + 5000 + 200 + 40 + 8

🎯 Определение

Развёрнутая форма — запись числа в виде суммы разрядных слагаемых.

Свёрнутая форма — обычная запись (125 248).

🧮 Схема Горнера: хитрый способ вычисления

Иногда полезно переписать число так, чтобы избежать возведения в степень:

125 248 = ((((1·10 + 2)·10 + 5)·10 + 2)·10 + 4)·10 + 8

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

Почему компьютеры «думают» в двоичной системе

Простота = мощь: почему компьютеры выбрали язык из двух символов

Простота = мощь: почему компьютеры выбрали язык из двух символов

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

🚀 Прорыв 1937 года

Немецкий инженер Конрад Цузе создал вычислительную машину на основе двоичной системы счисления. Машина занимала всего 2 м² на столе в его квартире — революционная компактность!

Почему двоичная система так хороша для компьютеров?

Простота реализации: электронные схемы легко реализуют два состояния: есть ток / нет тока

Надежность: различить два состояния проще, чем десять — меньше вероятность ошибки

🔗

Логика: логические операции (И, ИЛИ, НЕ) естественно работают с двоичными значениями

10.3. Переводы между системами счисления

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

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

Из q-ичной системы в десятичную

Это проще всего — используем развёрнутую форму записи:

Шаг 1

Записываем число как сумму разрядных слагаемых

Шаг 2

Переводим все числа в десятичную систему

Шаг 3

Вычисляем сумму

📌 Пример 1: Переводим 212₃ в десятичную систему

212₃ = 2·3² + 1·3¹ + 2·3⁰ 
     = 2·9 + 1·3 + 2·1 
     = 18 + 3 + 2 
     = 23₁₀

📌 Пример 2: Переводим 12A₁₆ в десятичную систему

Помним: A₁₆ = 10₁₀

12A₁₆ = 1·16² + 2·16¹ + 10·16⁰ 
      = 256 + 32 + 10 
      = 298₁₀

Лайфхак: перевод двоичных чисел через схему Горнера

Для двоичных чисел есть быстрый алгоритм. Переведем 1001110011₂:

🔄 Алгоритм

  1. Берем первую цифру: 1
  2. Умножаем на 2: 1 · 2 = 2
  3. Прибавляем следующую цифру: 2 + 0 = 2
  4. Умножаем на 2: 2 · 2 = 4
  5. Прибавляем следующую цифру: 4 + 0 = 4
  6. ...продолжаем до конца числа...
  7. Результат: 627₁₀

💡 Почему это удобно?

Нам не нужно запоминать большие степени двойки — мы просто чередуем умножение на 2 и прибавление следующей цифры.

Разбор интересных задач

Математический детектив: раскрываем секреты кодирования информации

Математический детектив: раскрываем секреты кодирования информации

Задача 1: Детективное расследование 🔍

Условие

Десятичное число 57 в некоторой системе счисления записывается как 212. Какое основание у этой системы?

Решение

Запишем уравнение: 212q = 57₁₀

Раскроем через степени основания:

2·q² + 1·q¹ + 2·q⁰ = 57
2q² + q + 2 = 57
2q² + q − 55 = 0

Решаем квадратное уравнение: q₁ = −5,5 (не подходит), q₂ = 5

Ответ: основание системы — 5 (пятеричная система счисления)

Задача 2: Слова как числа 📝

Условие

Все пятибуквенные слова из букв А, И, Р, С, Т записаны в алфавитном порядке. На каком месте стоит слово ИСТРА? Сколько всего слов в списке?

Решение

Хитрость в том, что этот список — замаскированная последовательность чисел!

Закодируем буквы:

А → 0, И → 1, Р → 2, С → 3, Т → 4

Тогда ИСТРА → 13420₅ (число в пятеричной системе!)

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

13420₅ = 1·5⁴ + 3·5³ + 4·5² + 2·5¹ + 0·5⁰ 
       = 625 + 375 + 100 + 10 
       = 1110₁₀

Но это не место в списке! В списке первое слово ААААА соответствует числу 0 и находится на месте 1.

Значит, слово ИСТРА на месте 1110 + 1 = 1111.

Всего слов: последнее слово ТТТТТ → 44444₅ = 3124₁₀. Значит, в списке 3125 слов.

Альтернативный подход: Из комбинаторики — это размещения с повторениями: 5⁵ = 3125.

Задача 3: Числовые диапазоны 🎯

Условие

Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 60, запись которых в четверичной системе счисления оканчивается на 31.

Решение

В четверичной системе используются цифры 0, 1, 2 и 3. Составим таблицу степеней:

4⁰ = 1
4¹ = 4
4² = 16
4³ = 64

Из этой таблицы видно, что интересующие нас числа (≤ 60) не будут более чем трёхзначными.

С учётом того что их запись заканчивается на 31, определим первую цифру (k):

k·16 + 3·4 + 1 ≤ 60
k·16 ≤ 47
k ∈ {0, 1, 2}

Искомые числа:

  • 31₄ = 13₁₀ (k = 0)
  • 131₄ = 29₁₀ (k = 1)
  • 231₄ = 45₁₀ (k = 2)

Ответ: 13, 29, 45

🎯 КЛЮЧЕВЫЕ ВЫВОДЫ

Позиционная система счисления — революционная идея: одна и та же цифра означает разное в зависимости от позиции. Это позволяет записывать любые числа ограниченным набором символов.
Основание системы счисления q определяет всё: сколько цифр в алфавите (от 0 до q−1), и как работают разряды (q единиц младшего разряда = 1 единица старшего).
Двоичная система — естественный язык компьютеров: электронным схемам проще всего различать два состояния (ток есть / тока нет), поэтому вся цифровая техника работает в двоичной системе.
Перевод между системами — это математика + логика: развёрнутая форма помогает понять структуру числа, а схема Горнера — быстро вычислить его значение.

🤔 ПРОВЕРЬ СЕБЯ

Креативные задания для закрепления материала

1. Мысленный эксперимент: инопланетная математика

Представь, что ты создаешь систему счисления для инопланетян с тремя пальцами на руке. Какое основание ты выберешь и почему? Запиши число 10₁₀ в этой системе.

2. Детектив: найди основание системы

Число записано как 100 в некоторой системе счисления и равно 16₁₀. Какая это система? Подсказка: составь уравнение.

3. Где в жизни: цвета в CSS

В CSS цвет задается как #FF5733. Это шестнадцатеричная запись!

  • FF₁₆ = сколько в десятичной?
  • А зачем программисты используют именно шестнадцатеричную систему для цветов?
4. Аналогия: объясни младшему

Объясни младшему брату или сестре (или другу, который не в теме), что такое позиционная система счисления. Какую аналогию ты бы использовал?

5. Применение: переведи свой возраст

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

6. Парадокс: одинаковые на вид — разные по сути

Найди три разных числа в трех разных системах счисления, которые ВЫГЛЯДЯТ одинаково (например, 100), но означают разные количества. Какое из них самое большое?

7. Исследование: почему не троичная?

Советский компьютер «Сетунь» работал в троичной системе счисления. Почему троичная система не стала стандартом для компьютеров? Какие у неё могли быть преимущества и недостатки?

8. Кодирование: создай свой шифр

Используя идею из задачи про слова ИСТРА, создай свой способ шифрования коротких сообщений через системы счисления. Зашифруй слово из 3-4 букв.

📚 Задачи из учебника

Классические задачи для отработки навыков

Задача 1

Вычислите десятичные эквиваленты следующих чисел:

  • 120₃
  • 100,21₄
  • 5A,124₁₆

Задача 2

Существует ли треугольник, длины сторон которого выражаются числами 12₈, 122₃ и 11011₂?

Задача 3

Найдите основание x системы счисления, если известно:

  • 47₁₀ = 21ₓ
  • 1331ₓ = 216₁₀

Задача 4

Какое из чисел C, записанных в двоичной системе, удовлетворяет неравенству 9D₁₆ < C < 237₈?

  • 1) 10011010₂
  • 2) 10011110₂
  • 3) 10011111₂
  • 4) 11011110₂

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

💡 Помни: каждая система счисления — это просто другой способ взглянуть на одно и то же количество. Главное — понять логику!

Информатика — твой билет в цифровое будущее