- •Основы представления информации в цифровых автоматах
- •Позиционные системы счисления
- •Для позиционной системы счисления справедливо равенство
- •Методы перевода чисел
- •Перевод чисел делением на основание новой системы
- •Табличный метод перевода
- •Форматы представления чисел с плавающей запятой
- •Знаковая часть
- •5. Двоичная арифметика
- •Коды: прямой, обратный, дополнительный, модифицированный
- •Выполнение арифметических операций с числами с фиксированной и плавающей запятой
5. Двоичная арифметика
В выполнении арифметических действий всегда участвуют два числа или более. В результате арифметической операции появляется новое число:
С = A B,
где – знак арифметического действия (сложение, вычитание, умножение, деление).
Операнд – число, участвующее в арифметической операции, выполняемой цифровым автоматом.
Так как цифровой автомат оперирует только машинными изображениями
[C] = [A] [B],
где [ ] – обозначение машинных изображений операндов.
Рассмотрим формальные правила двоичной арифметики операций сложения и вычитания на уровне разрядов операндов. На основе правил двоичной арифметики можно записать правила сложения и вычитания на уровне разрядов операндов.
На основе правил двоичной арифметики можно записать правила сложения двоичных цифр так, как показано в табл. 1, где ai, bi – разряды операндов A и B соответственно; ci – результат сложения (сумма); Пi – перенос из данного разряда в соседний старший.
Двоичный полусумматор – устройство, выполняющее арифметические действия по правилам, указанным в табл. 2.
Таблица 2
ai |
bi |
ci |
Пi |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
Появление единицы переноса при сложении двух разрядов несколько изменяет правила сложения двоичных цифр (табл. 3).
Таблица 3
ai |
bi |
Пi-1 |
ci |
Пi |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
Обобщая вышеизложенное, можно сформулировать правила поразрядных действий при сложении операндов A и B:
ai + bi + Пi-1 = ci + Пi,
где ai, bi – i-й разряд 1-го и 2-го операндов соответственно; ci – i-й разряд суммы; Пi-1 – перенос из (i–1)-го разряда; Пi – перенос в (i+1)-й разряд (переносы принимают значения 0 или 1).
Двоичный сумматор – устройство, выполняющее арифметические действия по правилам, указанным в табл. 3.
Вычитание двоичных чисел.
На основе правил двоичной арифметики можно записать правила вычитания двоичных цифр так, как показано в табл. 4, где ai – i-й разряд уменьшаемого; bi – i-й разряд вычитаемого; ci – i-й разряд разности; zi+1 – заем в старшем разряде.
Таблица 4
ai |
bi |
ci |
zi+1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
–1 |
Заем равносилен вычитанию единицы из старшего разряда. С учетом единицы займа из старшего соседнего разряда правила вычитания двоичных цифр можно записать так, как показано в таблице 5 (чтобы отличить заем от переноса, перед единицей поставлен знак минус).
Таблица 5
ai |
bi |
zi |
ci |
zi+1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
–1 |
0 |
0 |
–1 |
1 |
–1 |
1 |
0 |
–1 |
0 |
0 |
1 |
1 |
–1 |
1 |
–1 |
0 |
1 |
–1 |
0 |
–1 |
Если A – уменьшаемое (1-й операнд), B – вычитаемое (2-й операнд), то для поразрядных действий
ai – bi + zi = ci + zi+1,
где ai, bi, ci – соответственно i-е разряды уменьшаемого, вычитаемого и разности; zi – заем из младшего i-го разряда; zi+1 – заем в старшем (i+1)-м разряде.
Двоичный вычитатель – устройство, выполняющее арифметические действия по правилам, указанным в табл. 5. С точки зрения технической реализации всегда проще сложить два электрических сигнала, чем вычесть их друг из друга. Поэтому двоичные сумматоры являются основным устройством любой ЭВМ. Для того чтобы с их помощью выполнять такие арифметические действия, как вычитание, умножение, деление и др., необходимы соответствующие алгоритмы.