| Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 10 классы | Планирование уроков на учебный год (ФГОС) | Арифметические операции в позиционных системах счисления
Арифметические операции в позиционных системах счисления с основанием q выполняются по правилам, аналогичным правилам, действующим в десятичной системе счисления.
В начальной школе для обучения детей счёту используют таблицы сложения и умножения. Подобные таблицы можно составить для любой позиционной системы счисления.
Рассмотрите примеры таблиц сложения в троичной (табл. 3.2), восьмеричной (табл. 3.4) и шестнадцатеричной (табл. 3.3) системах счисления.
Таблица 3.2
Сложение в троичной системе счисления
Таблица 3.3
Сложение в шестнадцатеричной системе счисления
Таблица 3.4
Сложение в восьмеричной системе счисления
q получить сумму S двух чисел А и Б , надо просуммировать образующие их цифры по разрядам i справа налево:
Если a i + b i < q, то s i = a i + b i , старший (i + 1)-й разряд не изменяется;
если a i + b i ≥ q, то s i = а i + b i - q, старший (i + 1)-й разряд увеличивается на 1.
Примеры:
Чтобы в системе счисления с основанием q получить разность R двух чисел А и В , надо вычислить разности образующих их цифр по разрядам i справа налево:
Если a i ≥ b i , то r i = a i - b i , старший (i + 1)-й разряд не изменяется;
если a i < b i , то r i = a i - b i + g, старший (i + 1)-й разряд уменьшается на 1 (выполняется заём в старшем разряде).
Примеры перевода чисел в различные системы счисления
Пример №1
Переведем число 12 из десятичной в двоичную систему счисления
Решение
Переведем число 12 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
12 | : | 2 | = | 6 | остаток: 0 |
6 | : | 2 | = | 3 | остаток: 0 |
3 | : | 2 | = | 1 | остаток: 1 |
1 | : | 2 | = | 0 | остаток: 1 |
Пример №2
Переведем число 12.3 из десятичной в двоичную систему счисления
12.3 10 = 1100.010011001100110011001100110011 2
РешениеПереведем целую часть 12 числа 12.3 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
12 | : | 2 | = | 6 | остаток: 0 |
6 | : | 2 | = | 3 | остаток: 0 |
3 | : | 2 | = | 1 | остаток: 1 |
1 | : | 2 | = | 0 | остаток: 1 |
Переведем дробную часть 0.3 числа 12.3 10 в 2-ичную систему счисления, при помощи последовательного умножения на 2, до тех пор, пока в дробной части произведения не получиться ноль или не будет достигнуто необходимое количество знаков после запятой. Если в результате умножения целая часть не равна нулю, тогда необходимо заменить значение целой части на ноль. В результате будет получено число из целых частей произведений, записанное слева направо.
0.3 | · | 2 | = | 0 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
Пример №3
Переведем число 10011 из двоичной системы в десятичную систему счисления
Решение
Переведем число 10011 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 10011 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
10011 2 = 1 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 19 10
Пример №4
Переведем число 11.101 из двоичной системы в десятичную систему счисления
11.101 2 = 3.625 10
РешениеПереведем число 11.101 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 11.101 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
11.101 2 = 1 ⋅ 2 1 + 1 ⋅ 2 0 + 1 ⋅ 2 -1 + 0 ⋅ 2 -2 + 1 ⋅ 2 -3 = 3.625 10
Пример №5
Переведем число 1583 из десятичной системы в шестнадцатеричную систему счисления
1583 10 = 62F 16
РешениеПереведем число 1583 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
1583 | : | 16 | = | 98 | остаток: 15, 15 = F |
98 | : | 16 | = | 6 | остаток: 2 |
6 | : | 16 | = | 0 | остаток: 6 |
Пример №6
Переведем число 1583.56 из десятичной системы в шестнадцатеричную систему счисления
1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16
РешениеПереведем целую часть 1583 числа 1583.56 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
1583 | : | 16 | = | 98 | остаток: 15, 15 = F |
98 | : | 16 | = | 6 | остаток: 2 |
6 | : | 16 | = | 0 | остаток: 6 |
Переведем дробную часть 0.56 числа 1583.56 10 в 16-ичную систему счисления, при помощи последовательного умножения на 16, до тех пор, пока в дробной части произведения не получиться ноль или не будет достигнуто необходимое количество знаков после запятой. Если в результате умножения целая часть не равна нулю, тогда необходимо заменить значение целой части на ноль. В результате будет получено число из целых частей произведений, записанное слева направо.
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
Пример №7
Переведем число A12DCF из шестнадцатеричной системы в десятичную систему счисления
A12DCF 16 = 10563023 10
РешениеПереведем число A12DCF 16 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля
Каждая позиция цифры будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число A12DCF 16 на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
2
A12DCF.12A 16 = 10 ⋅ 16 5 + 1 ⋅ 16 4 + 2 ⋅ 16 3 + 13 ⋅ 16 2 + 12 ⋅ 16 1 + 15 ⋅ 16 0 + 1 ⋅ 16 -1
1010100011 2 = 1 ⋅ 2 9 + 0 ⋅ 2 8 + 1 ⋅ 2 7 + 0 ⋅ 2 6 + 1 ⋅ 2 5 + 0 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 675 10
Переведем число 675 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
675 | : | 16 | = | 42 | остаток: 3 |
42 | : | 16 | = | 2 | остаток: 10, 10 = A |
2 | : | 16 | = | 0 | остаток: 2 |
Вместе с этим калькулятором также используют следующие:
Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления
Умножение двоичных чисел
Формат представления чисел с плавающей запятой
Пример №1
. Представить число 133,54 в форме числа с плавающей точкой.
Решение
. Представим число 133.54 в нормализованном экспоненциальном виде:
1.3354*10 2 = 1.3354*exp 10 2
Число 1.3354*exp 10 2 состоит из двух частей: мантиссы M=1.3354 и экспоненты exp 10 =2
Если мантисса находится в диапазоне 1 ≤ M Представление числа в денормализованном экспоненциальном виде
.
Если мантисса находится в диапазоне 0,1 ≤ M Представим число в денормализованном экспоненциальном виде: 0.13354*exp 10 3
Пример №2
. Представить двоичное число 101.10 2 в нормализованном виде, записать в 32-битом стандарте IEEE754.
Таблица истинности
Сложение чисел с учетом их знаков на машине представляет собой последовательность следующих действий:
Пример №1
.
Дано: х=0,110001; y= -0,001001, сложить в обратном модифицированном коде.
Дано: х=0,101001; y= -0,001101, сложить в дополнительном модифицированном коде.
Пример №2
. Решить примеры на вычитание двоичных чисел, используя метод дополнения до 1 и циклического переноса.
а) 11 - 10.
Решение
.
Представим числа 11 2 и -10 2 в обратном коде.
Двоичное число 0000011 имеет обратный код 0,0000011
Сложим числа 00000011 и 11111101
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | ||||||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | |||||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | ||||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | |||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | ||
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
б) 111-010
Представим числа 111 2 и -010 2 в обратном коде.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 0000111 имеет обратный код 0,0000111
Двоичное число 0000010 имеет обратный код 1,1111101
Сложим числа 00000111 и 11111101
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | |||||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | ||||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | |||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | ||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | |||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | ||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
При сложении чисел с плавающей точкой выравнивание порядков выполняют в сторону большего порядка:
Алгоритм сложения чисел с плавающей точкой:
Пример №4
.
A=0,1011*2 10 , B=0,0001*2 11
1. Выравнивание порядков;
A=0,01011*2 11 , B=0,0001*2 11
2. Сложение мантисс в дополнительном модифицированном коде;
MA доп.мод. =00,01011
MB доп.мод. =00,0001
00,01011
+ 00,00010
=
00,01101
A+B=0,01101*2 11
3. Нормализация результата.
A+B=0,1101*2 10
Пример №3 . Записать десятичное число в двоично-десятичной системе счисления и сложить два числа в двоичной системе счисления.
Сложение и вычитание чисел в любой позиционной системе счисления выполняется поразрядно. Для нахождения суммы складываются единицы одного и того же разряда, начиная с единиц первого разряда (справа). Если сумма единиц складываемого разряда превышает число, равное основанию системы, то из этой суммы выделяется единица старшего разряда, которая и добавляется к соседнему разряду слева. Поэтому сложение можно производить непосредственно, как и в десятичной системе, в "столбик", используя таблицу сложения однозначных чисел.
Например, в системе счисления с основанием 4 таблица сложения имеет такой вид:
Еще проще таблица сложения в двоичной системе счисления:
0 + 0 = 0 | 0 + 1 = 1 | 1 + 1 = 10. |
Пример: |
Вычитание выполняем так же, как и в десятичной системе: подписываем вычитаемое под уменьшаемым и производим вычитание чисел в разрядах, начиная с первого. Если вычитание единиц в разряде невозможно, "занимаем" единицу в высшем разряде и преобразуем ее в единицы соседнего правого разряда.
Пример: 2311 4 - 1223 4 .
|
Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны - это сложение, вычитание, умножение столбиком и деление углом. Эти правила применимы и ко всем другим позиционным системам счисления. Только надо пользоваться особыми таблицами сложения и умножения для каждой системы.
Таблицы сложения легко составить, используя правила счета.
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.
Пример 1. Сложим числа 15 и 6 в различных системах счисления .
Пример 2. Сложим числа 15, 7 и 3.
Шестнадцатеричная : F 16 +7 16 +3 16 |
15+7+3 = 25 10 = 11001 2 = 31 8 = 19 16 . Проверка: 11001 2 = 2 4 + 2 3 + 2 0 = 16+8+1=25, 31 8 = 3 . 8 1 + 1 . 8 0 = 24 + 1 = 25, 19 16 = 1 . 16 1 + 9 . 16 0 = 16+9 = 25. |
Пример 3. Сложим числа 141,5 и 59,75 .
Ответ: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16
Проверка. Преобразуем полученные суммы к десятичному виду :
11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25
311,2 8 = 3 . 8 2 + 1 . 8 1 + 1 . 8 0 + 2 . 8 -1 = 201,25
C9,4 16 = 12 . 16 1 + 9 . 16 0 + 4 . 16 -1 = 201,25
Вычитание в двоичной системе счисления
заем |
Вычитание в шестнадцатеричной системе счисления
Заем единицы из старшего разряда |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вычитание в восьмеричной системе счисления
|
Заем единицы из старшего разряда
Пример 4. Вычтем единицу из чисел 10 2 , 10 8 и 10 16
Пример 5. Вычтем единицу из чисел 100 2 , 100 8 и 100 16 .
Пример 6. Вычтем число 59,75 из числа 201,25.
Ответ: 201,25 10 - 59,75 10 = 141,5 10 = 10001101,1 2 = 215,4 8 = 8D,8 16 .
Проверка. Преобразуем полученные разности к десятичному виду:
10001101,1 2 = 2 7 + 2 3 + 2 2 + 2 0 + 2 -1 = 141,5;
215,4 8 = 2 . 8 2 + 1 . 8 1 + 5 . 8 0 + 4 . 8 -1 = 141,5;
8D,8 16 = 8 . 16 1 + D . 16 0 + 8 . 16 -1 = 141,5.