- •1. Представление числовой информации в цифровых автоматах
- •1.1. Выбор системы счисления для представления числовой информации
- •1.2. Представление отрицательных чисел
- •1.3. Формы представления чисел
- •2. Арифметические основы цифровых автоматов
- •2.1. Формальные правила сложения и вычитания двоичных чисел
- •2.2. Сложение чисел, представленных в форме с фиксированной запятой
- •2.3.Переполнение разрядной сетки
- •2.4. Сложение чисел, представленных в форме с плавающей запятой
- •3. Умножение двоичных чисел
- •3.1. Методы умножения двоичных чисел
- •3.2. Умножение чисел, представленных в форме с фиксированной запятой в прямом коде
- •3.3. Умножение чисел, представленных в форме с фиксированной запятой в дополнительном коде
- •3.4. Умножение чисел, представленных в форме с фиксированной запятой в обратном коде
- •3.5. Умножение чисел, представленных в форме с плавающей запятой
- •3.6. Ускорение операции умножения
- •5. Цифровые автоматы
- •5.1. Основные понятия
- •5.2. Языки описания цифровых автоматов
- •5.3 Проектирование конечных автоматов
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 в дополнительном коде.
,
Ответ