Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii.doc
Скачиваний:
24
Добавлен:
19.08.2019
Размер:
3.66 Mб
Скачать

2. Арифметические основы цифровых автоматов

2.1. Формальные правила сложения и вычитания двоичных чисел

Популярность двоичной системы счисления во многом определяется простотой выполнения арифметических действий:

Сложение Вычитание

0 + 0 = 0 0 – 0 = 0

0 + 1 = 1 1 – 0 = 1

1 + 0 = 1 1 – 1 = 0

1 + 1 = 0 (1) перенос 0 – 1 = (1)1 заем

в старший разряд из старшего разряда

В выполнении арифметических действий всегда участвуют два или более числа. В результате арифметической операции появляется новое число

, (2.1)

где - знак арифметического действия (сложение, вычитание, умножение, деление).

Так как цифровой автомат оперирует только автоматными изображениями чисел, то они выступают в качестве операндов. Операнд - число, участвующее в арифметической операции, выполняемой цифровым автоматом.

Следовательно, для машинных операций более правильно выражение (2.1) написать в виде

,

где в квадратных скобках [ ] - обозначения автоматных изображений операндов.

На основе правил двоичной арифметики можно сформулировать формальные правила выполнения арифметических операций сложения и вычитания на уровне разрядов операндов.

Правила поразрядных действий при сложении операндов A и B можно сформулировать следующим образом:

,

где - перенос из (i-1)-го разряда; - перенос в (i+1) разряд (переносы принимают значения 0 или 1).

Правила поразрядных действий при вычитании операндов A и B можно сформулировать следующим образом:

,

где - заем в старшем разряде (заем равносилен вычитанию единицы из старшего разряда).

2.2. Сложение чисел, представленных в форме с фиксированной запятой

Так как для представления чисел в форме с фиксированной запятой используются прямой, обратный и дополнительный коды, то рассмотрим сложение чисел в этих кодах.

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

,

где - соответственно содержимое знаковых разрядов изображений чисел A и B; - цифровые разряды изображений.

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

Пример 2.1. Сложить числа А = 0,1011 и В = 0,0100 в прямом коде.

Решение. Запишем машинные изображения чисел A и B в прямом коде.

,

О твет

Пример 2.2. Сложить числа А = - 0,0101 и В = - 0,1001 в прямом коде.

Решение. Запишем машинные изображения чисел A и B в прямом коде.

,

Ответ

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

Пример 2.3. Найти сумму чисел A = 0,0101 и B = 0,0111 в обратном коде.

Решение. Запишем машинные изображения чисел A и B в обратном коде.

,

Ответ С = 0,1100

Пример 2.4. Найти сумму чисел A = - 0,0101 и B = 0,0111 в обратном коде.

Решение. Запишем машинные изображения чисел A и B в обратном коде.

,

Ответ

Пример 2.5. Найти сумму чисел A = 0,0101 и B = - 0,0111 в обратном коде.

Решение. Запишем машинные изображения чисел A и B в обратном коде.

,

Ответ

Пример 2.6. Найти сумму чисел A = - 0,0101 и B = - 0,1000 в обратном коде.

Решение. Запишем машинные изображения чисел A и B в обратном коде.

,

Ответ

При сложении чисел в дополнительном коде операция вычитания также как и при сложении чисел в обратном коде сводится к операции сложения. При этом в отличие от сложения в обратном коде, перенос из знакового разряда отбрасывается. В результате получается алгебраическая сумма в дополнительном коде.

Пример 2.7. Найти сумму чисел A = 0,1010 и B = 0,0100 в дополнительном коде.

Решение. Запишем машинные изображения чисел A и B в дополнительном коде.

,

Ответ

Пример 2.8. Найти сумму чисел A = - 0,1011 и B = 0,0100 в дополнительном коде.

Решение. Запишем машинные изображения чисел A и B в дополнительном коде.

,

Ответ

Пример 2.9. Найти сумму чисел A = 0,1011 и B = - 0,0100 в дополнительном коде.

Решение. Запишем машинные изображения чисел A и B в дополнительном коде.

,

Ответ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]