Бесплатно, нужен вход через Google. Готовый тест не тратит часовой лимит.
О чём лекция
Лекция начинается с унарной и непозиционных систем счисления, их преимуществ и ограничений. Затем вводится различие между цифрой и числом, объясняется принцип позиционной записи: значение цифры определяется её разрядом и степенью основания системы. На примерах разбираются двоичная, четверичная, восьмеричная и шестнадцатеричная системы, переполнение разрядов и незначащие нули. Показано, почему двоичная система удобна компьютерам, а шестнадцатеричная — программистам: одна шестнадцатеричная цифра соответствует четырём двоичным разрядам, а две — одному байту.
Рассматриваются способы перевода чисел: развёрнутая запись, схема Горнера и последовательное деление с остатком для получения цифр справа налево. Объясняется быстрый переход между родственными системами через группировку двоичных цифр в диады и триады. В Python показаны литералы для двоичных, восьмеричных и шестнадцатеричных чисел, функции bin, oct и hex, а также int со строкой и основанием от 2 до 36. В завершение разбирается программный алгоритм извлечения цифр через остаток и целочисленное деление, после чего даётся обзор однопроходных алгоритмов для подсчёта, суммы, произведения, максимума и поиска элемента в последовательности без хранения всех её значений.
Ключевые идеи
Унарная система проста для представления и сложения, но становится неудобной при записи больших чисел и выполнении операций.
Цифра является символом записи, а число существует независимо от выбранной системы кодирования.
В позиционной системе вес цифры определяется основанием системы и степенью, соответствующей её разряду.
В двоичной системе используются только ноль и единица, а переход через максимальную цифру вызывает перенос в следующий разряд.
Двоичная, четверичная, восьмеричная и шестнадцатеричная системы связаны группировкой двоичных разрядов по два, три и четыре.
Для перевода из десятичной системы в другую цифры получают последовательным делением на основание и фиксацией остатков.
Python поддерживает двоичные, восьмеричные и шестнадцатеричные литералы, а также преобразование строк в числа с произвольным основанием до 36.
Однопроходные алгоритмы обрабатывают последовательность без её полного хранения, поддерживая только необходимую статистическую выжимку.
Примеры вопросов
Как правильно представить десятичное число 5047 в виде суммы вкладов отдельных цифр, если вес цифры определяется количеством разрядов справа от неё?
A5·10^3 + 0·10^1 + 4·10^2 + 7·10^0
B5·10^4 + 0·10^3 + 4·10^2 + 7·10^1
C5·10^0 + 0·10^1 + 4·10^2 + 7·10^3
D5·10^3 + 0·10^2 + 4·10^1 + 7·10^0
Показать ответ
Верный ответ: D. У первой цифры числа 5047 три разряда справа, у второй — два, у третьей — один, у последней — ни одного. Поэтому показатели степеней равны 3, 2, 1 и 0 соответственно.
Какое утверждение корректно описывает переход от унарной системы счисления к двоичной в контексте позиционных систем?
AДвоичная система выбирается потому, что в ней любое число записывается одной цифрой
BДвоичная система отличается от унарной только названием символов, но не количеством используемых цифр
CДвоичная система использует два различных символа и поэтому становится первой системой с позиционным принципом записи
DДвоичная система обязательна для записи всех чисел без использования разрядов
Показать ответ
Верный ответ: C. Два символа — минимальное количество, при котором можно построить позиционную систему; унарная система с одним символом для этого не подходит.