Предмет: Информатика.
Преподаватель: Амирханова А. К.
Курс 1.
Специальность: 40.20.01. Право и организации специального обеспечения.
Тема урока: Арифметические операции в позиционных системах счисления (на примере двоичной системы).
Двоичная система счисления издавна была предметом пристального внимания многих ученых. Первый кто заговорил о двоичном кодировании, был Лейбниц Готфрид Вильгельм. Он написал трактат «Expication de l'Arithmetique Binary» — об использовании двоичной системы счисления в вычислительных машинах. В рукописи на латинском языке, написанной в марте 1679 года, Лейбниц разъясняет, как выполнять вычисление в двоичной системе, в частности умножение, а позже в общих чертах разрабатывает проект вычислительной машины, работающей в двоичной системе счисления. Вот что он пишет: « Вычисления такого рода можно было бы выполнять и на машине». Эти слова подчеркивают универсальность алфавита, состоящего из двух символов.
Все позиционные системы счисления “одинаковы”, а именно, во всех них выполняются арифметические операции по одним и тем же правилам:
— справедливы одни и те же законы арифметики: коммутативный (переместительный), ассоциативный (сочетательный), дистрибутивный (распределительный);
— справедливы правила сложения, вычитания, умножения и деления столбиком.
Мы узнаем на уроке:
как строить таблицы сложения и умножения в заданной позиционной системе счисления;
как выполнять сложение, умножение, вычитание и деление чисел, записанных в двоичной, восьмеричной и шестнадцатеричной системах счисления;
как подсчитывать количество единиц в двоичной записи числа, являющегося результатом суммирования или вычитания степеней двойки.
Арифметические операции в позиционных системах счисления с основанием q выполняются по правилам, аналогичным правилам, действующим в десятичной системе счисления.
Рассмотрим сложение.
Чтобы в системе счисления с основанием q получить сумму S двух чисел A и B, надо просуммировать образующие их цифры по разрядам i справа налево:
если ai + bi , то si = ai + bi,
старший (i + 1)-й разряд не изменяется
если ai + bi ≥ q, то si = ai + bi – q,
старший (i + 1)-й разряд увеличивается на 1
Можно составить таблицу сложения:
Давайте рассмотрим правило сложения на примере в двоичной системе счисления
Это мы рассмотрели сложение в двоичной системе счисления, а теперь сложим два числа в троичной, восьмеричной и шестнадцатеричной системе счисления.
— 1 + 2 = 3 ≥ 3
записываем 3 – 3 = 0 под 1-м разрядом,
а 2-й разряд увеличиваем на 1
— 1 + 2 = 3 ≥ 3
записываем 3 – 3 = 0 под 2-м разрядом,
а 3-й разряд увеличиваем на 1
— 1 + 1 + 2 = 4 ≥ 3
записываем 4 – 3 = 1 под 3-м разрядом,
а 4-й разряд увеличиваем на 1
— 1 + 1 = 2
записываем 2 под 4-м разрядом
Сложим в восьмеричной и шестнадцатеричной системе счисления.
Теперь разберём вычитание в системах счисления с основанием q.
Чтобы в системе счисления с основанием q получить разность R двух чисел A и B, надо вычислить разности образующих их цифр по разрядам i справа налево:
— если ai ≥ bi, то ri = ai – bi,
старший (i + 1)-й разряд не изменяется
— если a i i , то ri = q + ai – bi ,
старший (i + 1)-й разряд уменьшается на 1
Рассмотрим правило вычитания в двоичной системе счисления на примере.
Рассмотрим правило вычитания в троичной системе счисления, где q=3
1 ≥ 0
записываем 1 – 0 = 1 под 1-м разрядом
0 записываем 3 + 0 – 1 = 2 под 2-м разрядом,
делая заем в 3-м разряде
0 записываем 3 + 0 – 2 = 1 под 3-м разрядом,
делая заем в 4-м разряде
0 = 0
записываем 0 под 4-м разрядом
0 записываем 3 + 0 – 1 = 2 под 5-м разрядом,
делая заем в 6-м разряде
В восьмеричной и шестнадцатеричной системе выполним вычитание.
Как же выполняется умножение чисел в системе счисления с основанием q? Если мы рассмотрим таблицы умножения в двоичной, троичной, восьмеричной и шестнадцатеричной системах счисления, то увидим, что алгоритм умножения точно такой же, как и в десятичной системе.
Чтобы в системе счисления q получить произведение M многозначного числа A и однозначного числа b, надо вычислить произведения b и цифр числа A по разрядам i:
если ai · b , то mi = ai · b,
старший (i + 1)-й разряд не изменяется
если ai · b ≥ q, то mi = ai · b mod q,
старший (i + 1)-й разряд увеличивается на ai · b div q
Рассмотрим примеры:
— 2 · 2 = 4 ≥ 3
записываем 4 mod 3 = 1 под 1-м разрядом,
2-й разряд увеличиваем на 4 div 3 = 1
— 1 · 2 + 1 = 3 ≥ 3
записываем 3 mod 3 = 0 под 2-м разрядом,
3-й разряд увеличиваем на 3 div 3 = 1
— 2 · 2 + 1 = 3 ≥ 3
записываем 5 mod 3 = 2 под 3-м разрядом,
4-й разряд увеличиваем на 5 div 3 = 1
— 2 · 1 + 1 = 3 ≥ 3
записываем 3 mod 3 = 0 под 4-м разрядом
и в 5-й разряд записываем 3 div 3 = 1
По этому алгоритму выполним умножение в других системах счисления.
Умножение многозначного числа на многозначное число выполняется столбиком. При этом два множителя располагаются один под другим так, чтобы разряды чисел совпадали (находились в одном столбце). Посмотрим пример в двоичной системе счисления.
Деление нельзя свести к поразрядным операциям над цифрами, составляющими число. Деление чисел в системе счисления с произвольным основанием q выполняется так же, как и в десятичной системе счисления. А значит, нам понадобятся правила умножения и вычитания чисел в системе счисления с основанием q. Давайте разберем деление в двоичной системе.
И попробуем поделить в восьмеричной системе счисления.
В числе 2338 поместится 2 ∙ 738 = 1668
В числе 4568 поместится 5 ∙ 738 = 4478
В числе 738 поместится 1 ∙ 738 = 738
Теперь мы знаем, как производится арифметика в двоичной системе счисления. Используя таблицы, мы можем решить любой пример.
Давайте рассмотрим пример:
Задание 1. Найдём количество единиц в двоичной записи числа, являющегося результатом десятичного выражения
24000 + 42016 + 22018 – 8600 + 6
Решение:
Представим все операнды исходного выражения в виде степеней двойки:
Исходное выражение 24000 + 42016 + 22018 – 8600 + 6
примет вид 24000 + 24032 + 22018 – 21800 + 22 + 21
Перепишем выражение в порядке убывания степеней: 24032 + 24000 + 22018 – 21800 + 22 + 21
Для работы с десятичными числами вида 2n полезно иметь в виду следующие закономерности в их двоичной записи:
21 = 10 = 1 + 1; 22 = 100 = 11 + 1; 23 = 1000 = 111 + 1; …
В общем виде
Для натуральных n и m таких, что n m, получаем:
Эти соотношения позволят подсчитать количество «1» в выражении без вычислений. Двоичные представления чисел 24032 и 24000 внесут в двоичное представление суммы по одной «1». Разность 22018 – 21800 в двоичной записи представляет собой цепочку из 218 единиц и следующих за ними 1800 нулей. Слагаемые 22 и 21 дают ещё 2 единицы.
Так как в задаче надо найти единицы, то получаем:
Итого: 1 + 1 + 218 + 1 + 1 = 222.
Давайте разберем еще одну задачу.
Найдём количество цифр в восьмеричной записи числа, являющегося результатом десятичного выражения: 2299 + 2298 + 2297 + 2296.
Решение:
Двоичное представление исходного числа имеет вид:
Всего в этой записи 300 двоичных символов. При переводе двоичного числа в восьмеричную систему счисления каждая триада исходного числа заменяется восьмеричной цифрой. Следовательно, восьмеричное представление исходного числа состоит из 100 цифр.
Ответ: 100 цифр
Итак, сегодня вы узнали, что арифметические операции в позиционных системах счисления с основанием q выполняются по правилам, аналогичным правилам, действующим в десятичной системе счисления. Если необходимо вычислить значение арифметического выражения, операнды которого представлены в различных системах счисления, можно:
все операнды представить в привычной нам десятичной системе счисления;
вычислить результат выражения в десятичной системе счисления;
перевести результат в требуемую систему счисления.
Для работы с десятичными числами вида 2n, полезно иметь ввиду следующие закономерности в их двоичной записи:
Для натуральных n и m таких, что n m, получаем:
Тренировочный модуль.
1 задание
Выберите выражения, значения которых одинаковые.
Возьми карандаш и подчеркни результат сложения
145 + 325
225 1035 435 1015
Реши кросснамбер
По вертикали:
1. Найди сумму и запиши в двоичной системе счисления 1538 + F916
3. Найди произведение и запиши в двоичной системе счисления 1223 * 112
6. Выполни операцию деления 100100002 / 11002
7. Реши пример, ответ запиши в десятичной системе счисления (5648 + 2348) * C16
По горизонтали:
2. Разность двоичных чисел 11001100 - 11111
4. Найти разность 1678 – 568
5. Выполнить операцию деления 416128 / 128
8. Найти разность 12E16 – 7916 ответ запиши в десятичной системе счисления
Проверь себя: