В двоичном коде над числами можно осуществлять любые арифметические операции: сложение, вычитание, умножение, деление.
Сложение двух двоичных чисел производится аналогично сложению десятичных чисел.
Рассмотрим, например, сложение двух 4-разрядных двоичных чисел. Пусть надо сложить число 0111 (десятичное 7) и 1011 (десятичное 11):
При сложении 0 и 0 получаем 0, при сложении 1 и 0 получаем 1, при сложении 1 и 1 получаем 0 и перенос в следующий разряд 1. Результат — 10010 (десятичное 18). При сложении любых двух n-разрядных двоичных чисел может получиться n-разрядное или (n+1)-разрядное число.
При вычитании возможно получение отрицательных чисел, поэтому необходимо использовать двоичное представление отрицательных чисел.
Для одновременного представления как двоичных положительных, так и двоичных отрицательных чисел чаще всего используется так называемый дополнительный код. Отрицательные числа в этом коде выражаются таким числом, которое, будучи сложено с положительным числом такой же величины, даст в результате нуль. Для того чтобы получить отрицательное число, надо поменять все биты такого же положительного числа на противоположные (0 на 1, 1 на 0) и прибавить к младшему значащему разряду 1. Например, запишем число –5. Число 5 в двоичном коде выглядит 0101. Заменяем биты на противоположные: 1010 и прибавляем единицу: 1011. Суммируем результат с исходным числом: 1011 + 0101 = 0000. Перенос в пятый разряд игнорируется, поскольку разность не может иметь большее число разрядов, чем уменьшаемое и вычитаемое.
Сумматор – это блок арифметического устройства, выполняющий сложение двоичных чисел.
Сумматор двух двоичных одноразрядных чисел называетсяполусумматором. Полусумматор служит основой для создания сумматоров многоразрядных чисел. Входные сигналы полусумматора поступают на два входа и . Выходными сигналами являются сумма S и перенос в старший разряд P. Таблица истинности полусумматора показана на рисунке 30.1, а. Данной таблице соответствуют логические функции суммы и переноса в старший разряд соответственно вида
, . (30.1)
Как следует из первой формулы (30.1), функция суммы реализуется с помощью элемента «ИСКЛЮЧАЮЩЕЕ ИЛИ», а функция переноса посредством элемента «И». Функциональная схема полусумматора и его условное обозначение показаны соответственно на рисунках 30.1, б, в.
С использованием полусумматоров строят сумматоры, предназначенные для сложения двух многоразрядных числе. Условное обозначение четырехразрядного сумматора показано на рисунке 30.1, г. Сумматор имеет 8 входов, на которые подаются четырехразрядные числа X (входы , , и ) и Y (входы , , и ), подлежащие сложению. На вход сумматора Е подается сигнал переноса от предыдущих операций. Сумма S появляется на выходах , , и . Вывод P представляет собой вывод переноса.
а) б) в) г)
Рисунок 30.1 – Принцип действия и условные обозначения устройств сложения двоичных чисел