При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается.
При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов.
Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах кроме знакового на противоположные. Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду.
Пример
Сложить двоичные числа X и Y в обратном и дополнительном кодах.
а) X= 111, Y= -11;
1) Сложим числа, пользуясь правилами двоичной арифметики:
2) Сложим числа, используя коды:
Прямой код | Сложение в обратном коде | Сложение в дополнительном коде |
Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр=(X+Y)доп=(X+Y)пр.
б) X= -101,Y= -11;
1) Сложим числа, пользуясь правилами двоичной арифметики:
2) Сложим числа, используя коды:
Прямой код | Сложение в обратном коде | Сложение в дополнительном коде |
Так как сумма является кодом отрицательного числа (знак 1), то необходимо перевести результаты в прямой код:
- из обратного кода
(X+Y)обр=1,1110100 (X+Y)пр=1,0001011;
- из дополнительного кода
(X+Y)доп=1,1110101 (X+Y)пр=1,0001010+0,0000001=1,0001011.
Таким образом, X+Y= -1011 и полученный результат совпадает с обычной записью
Задание:
I | II | III | IV | V | VI | |
11510 | 24210 | 20710 | 18510 | 15810 | 23910 | |
-7010 | -2410 | -9510 | -6510 | -4710 | -8910 | |
X=-11010; Y=1001111 | X=-11101; Y=-100110 | X=1110100; Y=-101101 | X=-10110; Y=-111011 | X=1111011; Y=-1001010 | X=-11011; Y=-10101 | |
X=-11101; Y=-100110 | X=-10110; Y=-111011 | X=-10110; Y=-111011 | X=1111011; Y=-1001010 | X=1110100; Y=-101101 | X=-11010; Y=1001111 |
Порядок выполнения работы:
1. Запишите дополнительный код числа, интерпретируя его как восьмибитовое целое со знаком
2. Запишите в десятичной системе счисления целое число, если дан его дополнительный код
3. Выполнить операции +,- чисел в обратных кодах
4. Выполнить операции +,- чисел в дополнительных кодах
Контрольные вопросы:
1. Дайте определение понятию «дополнительный код»
2. Дайте определение понятию «обратный код»
3. Как реализовать операцию вычитания, с помощью операции сложения?
Практическая работа №2
Архитектура ЭВМ и вычислительных систем
Тема: Выполнение арифметических операций в естественной и нормальной форме
Цель работы: Научиться производить операции сложения и вычитания в дополнительных и обратных кодах
Литература:
1. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. – М.: Горячая линия, 2005г
2. Калиш Г.Г. Основы вычислительной техники. – М. Высш. шк., 2000 г.
Краткие теоретические сведения: