Учебник Системы счисления для начинающих
Как числа записывают в двоичной, восьмеричной и шестнадцатеричной системах. Научимся переводить между ними и понимать, как с числами работает компьютер.
Курс «Системы счисления» состоит из 5 разделов и 19 уроков: Основы систем счисления, Двоичная арифметика и отрицательные числа, Дробные и вещественные числа, Практикум ЕГЭ и ОГЭ и Системы счисления вокруг нас. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Основы систем счисления
- Системы счисления
Системы счисления: двоичная, восьмеричная, шестнадцатеричная — позиционный принцип, перевод чисел пошагово и через Python, таблица соответствий.
- Понятие системы счисления
Что такое система счисления: позиционные и непозиционные системы, основание, разряды и степени — с примерами разложения чисел и Python-расчётами.
- История развития систем счисления
История систем счисления: зарубки, египетские иероглифы, Вавилон, индийская десятичная с нулём, Лейбниц и двоичная система, шестнадцатеричная в программировании.
- Двоичная система счисления
Двоичная система счисления: почему компьютеры используют 0 и 1, как читать и записывать двоичные числа, биты и байты — с примерами и таблицами.
- Перевод чисел между системами счисления
Как переводить числа между системами счисления: развёрнутая форма, деление с остатком, быстрый перевод через степени двойки — по шагам с таблицами.
- Восьмеричная и шестнадцатеричная системы счисления
Восьмеричная и шестнадцатеричная системы: перевод триадами и тетрадами, цифры A–F, hex-цвета и права доступа Unix — просто и с таблицами.
- Двоичная арифметика и системы счисления в программировании
Двоичное сложение и сдвиги, bin(), hex() и int() в Python, parseInt и toString в JavaScript — системы счисления на практике с примерами кода.
- Системы счисления
2 Двоичная арифметика и отрицательные числа
- Сложение и вычитание в столбик
Поразрядное сложение с переносом и вычитание в двоичной, восьмеричной и шестнадцатеричной системах. Столбики таблицами и проверка через bin()/int() на Python.
- Прямой, обратный и дополнительный код
Как процессор хранит отрицательные числа: прямой, обратный и дополнительный код, знаковый бит и почему вычитание сводится к сложению. Формула дополнительного кода через 2 в степени n.
- Переполнение и диапазоны типов
Диапазоны знаковых и беззнаковых целых, переполнение и циклический перенос, связь с типами int8, int16, int32. Python-демонстрация арифметики по модулю 2 в степени n.
- Сложение и вычитание в столбик
3 Дробные и вещественные числа
- Перевод дробей между системами
Как переводить дробную часть числа в двоичную систему методом умножения на основание, почему 0.1 бесконечна в двоичной, конечные и периодические дроби.
- Фиксированная и плавающая точка
Как компьютер представляет вещественные числа: знак, мантисса и порядок, идея стандарта IEEE 754 (float и double), сравнение фиксированной и плавающей точки.
- Потеря точности и ошибки округления
Почему 0.1 + 0.2 не равно 0.3, как накапливается ошибка округления, когда это опасно (деньги, сравнения) и как обходить через целые, round и decimal.
- Перевод дробей между системами
4 Практикум ЕГЭ и ОГЭ
- Перевод и сравнение в разных основаниях
Как на ЕГЭ и ОГЭ сравнивать числа в разных системах счисления, находить наибольшее и наименьшее: общий приём через десятичную и быстрые оценки по основанию.
- Уравнения и неизвестное основание
Задачи ЕГЭ и ОГЭ на поиск неизвестного основания системы счисления: как из записи числа составить уравнение по разрядам, решить его и проверить ответ.
- Подсчёт цифр, единиц и нулей
Задачи ЕГЭ и ОГЭ на подсчёт значащих нулей и единиц в двоичной записи, количество чисел с заданным свойством и приёмы через степени двойки 2 в степени k.
- Перевод и сравнение в разных основаниях
5 Системы счисления вокруг нас
- Hex: цвета, байты и память
Почему шестнадцатеричная удобна для байтов: #RRGGBB как три байта, 1 байт = 2 hex-цифры, адреса памяти. Разбираем цвет в JS с выводом.
- Битовые маски и сдвиги
Биты как флаги настроек, упаковка через И/ИЛИ и сдвиги, маска прав доступа rwx. Разбираем побитовые операции в Python с выводом.
- От чисел к данным: кодировки и адреса
Как числа становятся символами: ASCII и Unicode, номер символа через ord/chr, IP-адрес как 4 байта. Связь систем счисления и представления данных в Python.
- Hex: цвета, байты и память