Computer Science

Учебник Системы счисления для начинающих

19 уроков · 5 разделов · бесплатно, без регистрации

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

Курс «Системы счисления» состоит из 5 разделов и 19 уроков: Основы систем счисления, Двоичная арифметика и отрицательные числа, Дробные и вещественные числа, Практикум ЕГЭ и ОГЭ и Системы счисления вокруг нас. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Основы систем счисления

    1. Системы счисления

      Системы счисления: двоичная, восьмеричная, шестнадцатеричная — позиционный принцип, перевод чисел пошагово и через Python, таблица соответствий.

    2. Понятие системы счисления

      Что такое система счисления: позиционные и непозиционные системы, основание, разряды и степени — с примерами разложения чисел и Python-расчётами.

    3. История развития систем счисления

      История систем счисления: зарубки, египетские иероглифы, Вавилон, индийская десятичная с нулём, Лейбниц и двоичная система, шестнадцатеричная в программировании.

    4. Двоичная система счисления

      Двоичная система счисления: почему компьютеры используют 0 и 1, как читать и записывать двоичные числа, биты и байты — с примерами и таблицами.

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

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

    6. Восьмеричная и шестнадцатеричная системы счисления

      Восьмеричная и шестнадцатеричная системы: перевод триадами и тетрадами, цифры A–F, hex-цвета и права доступа Unix — просто и с таблицами.

    7. Двоичная арифметика и системы счисления в программировании

      Двоичное сложение и сдвиги, bin(), hex() и int() в Python, parseInt и toString в JavaScript — системы счисления на практике с примерами кода.

  2. 2 Двоичная арифметика и отрицательные числа

    1. Сложение и вычитание в столбик

      Поразрядное сложение с переносом и вычитание в двоичной, восьмеричной и шестнадцатеричной системах. Столбики таблицами и проверка через bin()/int() на Python.

    2. Прямой, обратный и дополнительный код

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

    3. Переполнение и диапазоны типов

      Диапазоны знаковых и беззнаковых целых, переполнение и циклический перенос, связь с типами int8, int16, int32. Python-демонстрация арифметики по модулю 2 в степени n.

  3. 3 Дробные и вещественные числа

    1. Перевод дробей между системами

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

    2. Фиксированная и плавающая точка

      Как компьютер представляет вещественные числа: знак, мантисса и порядок, идея стандарта IEEE 754 (float и double), сравнение фиксированной и плавающей точки.

    3. Потеря точности и ошибки округления

      Почему 0.1 + 0.2 не равно 0.3, как накапливается ошибка округления, когда это опасно (деньги, сравнения) и как обходить через целые, round и decimal.

  4. 4 Практикум ЕГЭ и ОГЭ

    1. Перевод и сравнение в разных основаниях

      Как на ЕГЭ и ОГЭ сравнивать числа в разных системах счисления, находить наибольшее и наименьшее: общий приём через десятичную и быстрые оценки по основанию.

    2. Уравнения и неизвестное основание

      Задачи ЕГЭ и ОГЭ на поиск неизвестного основания системы счисления: как из записи числа составить уравнение по разрядам, решить его и проверить ответ.

    3. Подсчёт цифр, единиц и нулей

      Задачи ЕГЭ и ОГЭ на подсчёт значащих нулей и единиц в двоичной записи, количество чисел с заданным свойством и приёмы через степени двойки 2 в степени k.

  5. 5 Системы счисления вокруг нас

    1. Hex: цвета, байты и память

      Почему шестнадцатеричная удобна для байтов: #RRGGBB как три байта, 1 байт = 2 hex-цифры, адреса памяти. Разбираем цвет в JS с выводом.

    2. Битовые маски и сдвиги

      Биты как флаги настроек, упаковка через И/ИЛИ и сдвиги, маска прав доступа rwx. Разбираем побитовые операции в Python с выводом.

    3. От чисел к данным: кодировки и адреса

      Как числа становятся символами: ASCII и Unicode, номер символа через ord/chr, IP-адрес как 4 байта. Связь систем счисления и представления данных в Python.