Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ практические.docx
Скачиваний:
101
Добавлен:
11.04.2015
Размер:
275.2 Кб
Скачать

Практическая работа №1

Архитектура ЭВМ и вычислительных систем

Тема: Выполнение операций сложения и вычитания в обратном и дополнительном кодах

Цель работы: Научиться производить операции сложения и вычитания в дополнительных и обратных кодах

Литература:

  1. Калабеков Б.А. Цифровые устройства и микропроцессорные системы. – М.: Горячая линия, 2005г

  2. Калиш Г.Г. Основы вычислительной техники. – М. Высш. шк., 2000 г.

Краткие теоретические сведения:

Особенности сложения чисел в обратном и дополнительном кодах.

При сложении чисел в дополнительном коде возникающая единица переноса в знаковом разряде отбрасывается.

При сложении чисел в обратном коде возникающая единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов.

Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах кроме знакового на противоположные. Дополнительный код преобразуется в прямой также, как и обратный, с последующим прибавлением единицы к младшему разряду.

Пример

Сложить двоичные числа 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

1

11510

24210

20710

18510

15810

23910

-7010

-2410

-9510

-6510

-4710

-8910

2

0011010111010110

0110010010010101

0111100011001000

0111011101000111

0100011011110111

0000010101011010

1000000110101110

1000011111110001

1111011101101101

1010110110101110

1011101001100000

1001110100001011

3

X=-11010;

Y=1001111

X=-11101;

Y=-100110

X=1110100;

Y=-101101

X=-10110;

Y=-111011

X=1111011;

Y=-1001010

X=-11011;

Y=-10101

4

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. Как реализовать операцию вычитания, с помощью операции сложения?