01. Цели изучения курса информатики и ИКТ. Техника безопасности и организация рабочего места (полный урок)
12 мин
02. Общие сведения о системах счисления
21 мин
03. Двоичная система счисления. Двоичная арифметика
22 мин
04. Качественные и количественные характеристики информации
18 мин
05. Операции над двоичными числами. Измерение информации. Системы кодирования информации
7 мин
06. Защита информации. Информатизация и информационно-технологическая культура
07. Модели, их назначение, свойства и виды
9 мин
08. Информационные (нематериальные) модели. Компьютерное моделирование
22 мин
09. Восьмеричная и шестнадцатеричная системы счисления. Компьютерные системы счисления
19 мин
10. Перевод десятичных чисел в систему счисления с основанием Q. Арифметические действия в системах счисления
25 мин
11. Представление целых чисел. Представление вещественных чисел
32 мин
12. Элементы алгебры логики
19 мин
13. Логические операции. Таблицы истинности
36 мин
14. Логические операции следования и равносильности. Законы алгебры логики
18 мин
15. Решение логических задач
18 мин
16. Способы записи алгоритмов
24 мин
Видео доступно по абонементу
Наша жизнь неразрывно связана с информацией и её постоянной обработкой. С древнейших времён люди обрабатывают информацию об окружающем их мире. Для древних людей подобным процессом мог быть такой: если увидел в кустах что-то большое, с зубами и недружелюбным взглядом, нужно убегать.
Современный человек должен уметь обрабатывать гораздо больше информации, поскольку наша жизнь связана с гораздо большим количеством процессов вокруг. Но при этом и скорость обработки информации также выросла благодаря вычислительным устройствам — компьютерам.
Внутри компьютеров вся информация представлена в виде чисел. Но мы с вами привыкли обрабатывать числовые данные в десятичном виде, а компьютеры, в свою очередь, в двоичном. Конечно, существуют и другие системы счисления, например восьмеричная или шестнадцатеричная. Это означает, что необходимо либо уметь быстро переключаться между системами счисления, либо проводить арифметические операции сразу в указанных системах.
Если же иметь готовые и эффективные алгоритмы, которые будут осуществлять эти расчёты за нас, то их можно будет перепоручить компьютерам, и тогда скорость и качество обработки информации станут ещё выше.
Кроме того, числа могут быть даны в различных системах счисления в рамках одной задачи, поэтому обработка таких примеров требует дополнительной подготовки.
Для работы с различными системами счисления нужно понимать их основные характеристики. К ним относятся алфавит и основание.
Под алфавитом подразумевается множество знаков, которое используется в данной системе, а основание — количество этих знаков.
Ранее мы вводили также понятие мощности алфавита. Мы говорили о том, что мощностью алфавита является количество его символов. В данном контексте мы можем приравнять понятия мощности алфавита и основания системы счисления. Ведь основание системы счисления означает, сколько вариантов может принимать один символ в сообщении. А это, в свою очередь, как раз равно мощности алфавита.
Рассмотрим пример. В шестнадцатеричной системе счисления алфавитом являются цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 и буквы A, B, C, D, E, F. Так как знаков всего 16, основанием шестнадцатеричной системы счисления будет 16.
В случае с двоичной системой счисления алфавит будет состоять всего лишь из 0 и 1 и, так как в этой системе счисления всего две цифры, основанием будет 2.
Стоит учесть тот факт, что если количество цифр превышает 10, то, помимо привычных арабских цифр, используются ещё и буквы латинского алфавита. Ярким примером является шестнадцатеричная система счисления, про которую мы только что говорили.
Вообще понятие системы счисления охватывает не только уже известные нам двоичную, восьмеричную, десятичную и шестнадцатеричную. Необходимо владеть навыками работы и в других системах — с произвольным основанием. Для таких систем введём переменную Q , которая как раз будет обозначать основание системы счисления.
Вспомним правило перевода чисел из десятичной системы счисления в двоичную.
Для перевода числа из десятичной системы счисления в двоичную будем выполнять следующие действия:
Последовательно делить число на 2 до тех пор, пока оно не станет меньше двух, то есть единицей.
Взять результат последнего деления за старший разряд результата.
Приписать к результату все остатки в обратном порядке.
Данный процесс виден на рисунке.
В результате мы получаем последовательность разрядов, каждый из которых не превышает основание целевой системы счисления, в нашем случае — 2.
Для начала вспомним общее правило записи числа в выбранной системе счисления. Мы его уже формулировали для некоторых систем. Для системы с произвольным основанием Q будет аналогично.
m = an ∙ Qn + an - 1 ∙ Qn - 1 + … + a1 ∙ Q + a0.
Число представляется как сумма произведений цифр каждого разряда на основание системы счисления, возведённое в степень, соответствующую порядку этой цифры.
В таком случае для перевода числа из одной системы счисления в другую необходимо последовательно находить, сколько раз максимальная степень Q содержится в остатке. Подробнее об этом мы говорили в уроке про двоичную систему счисления.
В случае перевода из десятичной системы счисления в систему с основанием Q нам потребуется воспользоваться следующим алгоритмом:
Последовательно выполнять деление данного числа и получаемых целых частных на Q до тех пор, пока не получится частное меньше основания Q.
Полученные остатки, являющиеся цифрами числа в системе счисления с основанием Q, привести в соответствие алфавиту. Это значит, что для всех остатков больше или равных 10 (если такие есть для Q) необходимо ввести буквенное обозначение.
Записать в старший разряд ответа результат последнего деления.
Дописать к ответу все остатки от деления на предыдущих шагах, начиная с последнего.
Возьмём для примера число 42. Получим представление этого числа в системе счисления по основанию 5:
42 : 5 = 8, остаток 2.
8 : 5 = 1, остаток 3.
Записываем сначала результат последнего деления — 1. Потом дописываем остатки, начиная с последнего — 2 и 3. Получаем число 1325.
Как мы знаем, в десятичной системе счисления существуют четыре основных арифметических действия: сложение, вычитание, умножение и деление. Эти арифметические действия мы изучаем с первого класса, и основные их правила ясны. Но как же их применять, если мы используем систему счисления, отличную от десятичной?
Первым правилом является перевод чисел в систему счисления с одним и тем же основанием, иначе производить арифметические действия будет довольно проблематично. Конечно, существует и более простой способ — перевести все числа в десятичную систему счисления, выполнить действия в ней, а результат перевести в требуемую систему счисления. Но этот способ, как вы понимаете, не самый эффективный по времени. С другой стороны, для него запоминать практически ничего не нужно.
Начнём с операции сложения.
Когда мы складываем числа в столбик по разрядам, может произойти ситуация, когда в одном разряде сумма получается большей или равной основанию системы счисления. Иными словами, если мы складываем 1 + 1 в двоичной системе счисления, то получаем 210 или 102, что, в свою очередь, равно основанию системы счисления. Такая ситуация называется переполнением разряда.
В этом случае мы должны записать в разряд результата младший разряд суммы, а старший прибавить к результату сложения следующих разрядов. Посмотрим на пример в двоичной системе счисления. Сложим в столбик 1012 и 12.
При сложении младших разрядов мы получаем 12 + 12 = 102. В этом случае в разряд результата записывается 0, а в переполнение 1. На следующем шаге теперь необходимо к сумме соответствующих разрядов прибавить значение в разряде переполнения, получим: 0 + 0 + 1 = 1. Переполнения здесь не возникает, поэтому при сложении оставшихся разрядов мы просто получим 1 + 0 = 1. Итого ответ: 1102.
Как видно из примера, здесь для нас ничего нового нет, все операции аналогичны тем, что мы уже умеем выполнять в столбик для десятичных чисел. Отличие только в том, что в десятичных числах переполнение возникало в случае, когда сумма становилась больше 9, а здесь — когда больше 1. В десятичной системе мы переносили в следующий разряд десятки, а здесь — двойки.
Рассмотрим ещё несколько примеров.
Сложим в десятичной системе счисления 2610 + 910. Как видно, если мы складываем числа первого разряда 6 и 9, то сумма получается 15, что больше основания системы счисления. Соответственно 1 переносится в следующий, второй разряд, и прибавляется к 2. При этом 5 остается в первом разряде. Таким образом, в первом разряде будет 5, а во втором 3, или, иными словами, получится 3510 .
Сложим в двоичной системе счисления 10112 + 1012. Как видно, если мы складываем числа первого разряда 1 и 1, то сумма получается 2, или 102, что равно основанию системы счисления. Соответственно, 0 остаётся в первом разряде, а 1 переносится в следующий, второй разряд, и прибавляется к сумме 1 и 0, то есть к 1. В итоге мы получаем опять 102. Соответственно, 0 остаётся во втором разряде, 1 переносится в следующий, третий разряд, и прибавляется к сумме 0 и 1, то есть к 1. Получается аналогичная ситуация, и в третьем разряде остаётся 0, в четвёртый переносится 1 и прибавляется к 1 в четвёртом разряде первого числа, что в итоге даёт нам число 100002.
Сложим в восьмеричной системе счисления 138 + 48. Как видно, если мы складываем числа первого разряда 3 и 4, то сумма получается 7, что меньше основания системы счисления, и никаких переносов не требуется. Таким образом, в первом разряде будет 7, а во втором 1, то есть 178.
При вычитании мы выполняем операции поразрядно, так же, как и в десятичной системе. Но, в отличие от суммирования, в вычитании не возникает переполнения. Здесь может получиться обратная ситуация, когда значение в разряде уменьшаемого будет меньше, чем разряд вычитаемого. В этом случае, как мы помним, необходимо занять значение у следующего разряда. Например, вычитая из 21 число 7, в разряде единиц из 1 мы не можем вычесть 7. Поэтому занимаем 1 десяток, вычитаем из 11 семь, получаем 4 в разряде единиц. И в разряде десятков осталась единица. Итого: 14.
В качестве примера выполним вычитание в различных системах счисления. Начнём с двоичной. Произведём вычитание 10002 – 12.
В младшем разряде получилась ситуация, когда из 0 нужно вычесть 1. В этом случае мы должны занять значение из следующего разряда, и тогда текущий разряд должен стать равным основанию системы счисления, в данном случае 210. Теперь возможно вычесть 210 – 12 = 102 – 12 = 12. Тот разряд, где мы занимали, должен уменьшиться на 1, но там уже был 0. В этом случае нужно будет уменьшить следующий разряд. Делать это нужно до тех пор, пока мы не встретим 1 в каком-либо из старших разрядов уменьшаемого.
Видим в старшем разряде 1, значит, занимаем в итоге оттуда. Тогда в следующем разряде остаётся 1, и 1 занимаем в следующий разряд. Аналогично и дальше. В последнем разряде мы уже выполнили вычитание. Выполним в остальных. Будет 1 – 0 = 1, и аналогично в соседнем разряде. В старшем разряде будет 0 – 0 = 0. Ноль в начале не читаем, получим 111 в двоичной системе.
Следующий пример будет в троичной системе счисления: 10003 – 23.
При вычитании младших разрядов нам необходимо занять значение в следующих разрядах. В этом случае получится ситуация, когда для данного примера в младшем разряде уменьшаемого окажется 3, тогда 3 – 2 = 1. Как и в предыдущем примере, нам в итоге нужно занимать в старшем разряде. В итоге при займе все остальные значения в разрядах должны стать меньше на 1, то есть 2. Выполняем вычитание, получаем 2213.
Рассмотрим пример посложнее. Будем из одного многоразрядного числа вычитать другое многоразрядное.
Давайте возьмём систему счисления с каким-нибудь нестандартным основанием, например 9. Посчитаем разницу 10109 – 889. Рассмотрим поразрядно весь процесс.
В младшем разряде необходимо из 0 вычесть 8. Для этого придётся необходимое значение занять из следующего разряда, получим (0 + 9) – 8 = 1.
Переходим ко второму разряду. Поскольку мы из него занимали значение, то разряд уменьшаемого стал меньше на 1, то есть необходимо опять вычесть из нуля восемь. Опять займём значение в следующем разряде, получим опять (0 + 9) – 8 = 1.
В третьем разряде был ноль, но так как мы на предыдущем шаге из него занимали, то он должен уменьшиться на единицу. В этом случае разряд станет равным 8 после займа из следующего разряда. Получаем для данного разряда 8 – 0 = 8.
В четвёртом разряде была единица, но, так как мы занимали из него на предыдущем шаге, он должен также уменьшиться на единицу. В результате старший разряд уменьшаемого стал равным нулю, и получаем 0 – 0 = 0.
Таким образом, 10109 – 889 = 8119.
Операция умножения производится аналогично десятичной системе счисления с использованием правила последовательного умножения множимого на очередную цифру множителя.
Вспомним алгоритм действий в привычной, десятичной системе.
Умножим 2610 на 910. Как видно, если мы умножаем числа первого разряда 6 и 9, то произведение получается 54, что больше основания системы счисления. Соответственно, 5 переносится в следующий, второй разряд и прибавляется к произведению 2 и 9, то есть 18. Как итог — 23. При этом 4 остаётся в первом разряде. Таким образом, в первом разряде будет 4, во втором 3, в третьем будет 2, или, иными словами, 23410.
Аналогичным образом будем выполнять умножение в других системах счисления. Рассмотрим примеры.
Умножим в двоичной системе счисления 10112 на 1012. Тут мы помним, что 1 ∙ 1 = 1, а если любое число умножить на 0, то будет 0. Тогда получается следующее: необходимо первое число умножить на все разряды второго, не забывая делать сдвиг влево при умножении на следующий разряд, а затем сложить результаты.
Поставьте видео на паузу и попробуйте самостоятельно выполнить эти действия. Теперь посмотрим правильное решение. В итоге получаем 1101112.
Ещё один пример рассмотрим в восьмеричной системе. Умножим 138 на 48. Как видно, если мы умножаем числа первого разряда 3 и 4, то произведение получается 12, что больше основания системы счисления. В восьмеричной системе это число записывается как 148. Соответственно, 1 переносится в следующий, второй разряд и прибавляется к произведению 1 и 4, то есть 4. Таким образом, в первом разряде будет 4, а во втором 4 + 1 = 5, или, иными словами, 548.
Наконец, рассмотрим операцию деления. Она также аналогична делению в столбик десятичных чисел.
Для примера возьмём четверичную систему счисления и посчитаем 1312024 / 224 в столбик.
Для начала возьмём столько разрядов делимого, чтобы было возможно деление с остатком. Берём 1314. Подбираем такое максимальное число, которое при умножении на 224 будет меньше 1314. В результате получим 2. Посмотрим, почему так. Умножим 224 на 24. При умножении 24 на 24 получим 410 или 104. В результат записывается 0, а 1 уходит в переполнение. В следующем разряде у нас опять 24 ∙ 24 = 104, но теперь ещё необходимо прибавить 1 из переполнения. Получаем 104 + 14 = 114. Единицу записываем в результат и ещё единицу в переполнение. Разряды множителей закончились, поэтому переполнение сносим в результат. В итоге 224 ∙ 24 = 1104.
Если взять 3, то получим уже больше 131, поэтому пишем в частное 2.
Далее ищем остаток. Вычитаем из 131 произведение частного и делителя. Мы уже нашли это произведение, 110. Значит, в остатке получаем 21. Далее сносим из делимого следующий разряд, двойку, и делим полученное число опять на 22. Подбираем аналогичным образом. Попробуйте выполнить это самостоятельно. В ответе получаем 3, а в остатке будет 20.
Опять сносим разряд делимого и делим уже 200 на 22. В результат опять уходит 3, а к остатку сносим последний разряд делимого.
В последнем действии делим 22 на 22, получаем 1 без остатка. Деление окончено. Таким образом, 1312024 / 224 = 23314.
Итак, мы рассмотрели арифметические действия в различных системах счисления. В каждом из случаев мы увидели определённые алгоритмы, но иногда вычисления были довольно громоздкими. В десятичной системе счисления для упрощения расчётов используется таблица умножения, которую вы знаете ещё с начальной школы.
В других системах счисления также можно составить готовые таблицы. С ними вы можете ознакомиться в ответвлении.
Для более полного понимания различных арифметических действий в рамках разных систем счисления можно пользоваться таблицами.
Таблица сложения в двоичной системе счисления выглядит следующим образом.
В восьмеричной системе счисления таблица сложения будет выглядеть так.
Таблица умножения в двоичной системе счисления, которую фактически мы уже использовали сегодня, выглядит так.
Аналогичную таблицу умножения можно записать и для восьмеричной системы счисления.
В других системах счисления можно составить такие же таблицы. При необходимости другие готовые таблицы вы можете найти в интернете.
Подведём итог. Мы рассмотрели, как осуществляются базовые арифметические операции в системах счисления с различным основанием. Здесь важно помнить, что все операции осуществляются абсолютно аналогично действиям в столбик в привычной нам десятичной системе. При сложении и умножении может возникать переполнение, которое прибавляется к результату в следующем разряде. При вычитании мы можем занимать значение из более старшего разряда.
Список литературы
Информатика: 8 класс: базовый уровень: учебник / Л. Л. Босова, А. Ю. Босова. — Москва: Просвещение, 2025.
Дополнительные видеоуроки:
Проверь себя
Какая арифметическая операция используется для перевода целого десятичного числа в двоичную систему счисления?
Что нужно сделать в первую очередь, чтобы выполнить арифметические действия над числами, записанными в позиционных счислениях с разным основанием?
Переведите число 50010 в пятеричную систему счисления.
Выполните сложение, вычитание, умножение и деление восьмеричных чисел 226 и 12.
Список использованных источников:
Рис. 1, 2. Иллюстратор Гурьева Е. С.
Рис. 1, 3–17, 1–4. Иллюстратор Лопатин М. С.