Л4 Двоичная арифметика, алгоритм сложения. Сложение в обратных и дополнительных кодах.pptx
- Количество слайдов: 9
«Двоичная арифметика, алгоритм сложения» .
Арифметические операции над двоичными числами Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код. Пусть даны числа А ≥ 0 и В ≥ 0, тогда операция алгебраического сложения выполняется в соответствии с Табл. 1 При выполнении сложения цифр необходимо соблюдать следующие правила: 1. Слагаемые должны иметь одинаковое число разрядов. Для выравнивания разрядной сетки слагаемых можно дописывать незначащие нули слева к целой части числа и незначащие нули справа к дробной части числа. 2. Знаковые разряды чисел участвуют в сложении так же, как и сами числа. 3. Преобразования кодов производятся с изменением знаков чисел. Приписанные незначащие нули изменяют свое значение при преобразованиях по общему правилу. 4. При сложении цифры знаковых разрядов складывают с отбрасыванием возникающего из этого разряда переноса. Знак результата формируется автоматически, результат представляется в том коде, в котором представлены исходные слагаемые.
Правила двоичной арифметики Сложение трех однозначных двоичных чисел производится по следующим правилам: 0 + 0 = 0 0 + 1 = 10 1 + 1 = 11 В вычислительной технике операции вычитания заменяются операциями сложения. Пример 1 85 – 37 = 48 Вместо того, чтобы из числа 85 вычитать число 37, к числу 85 прибавляется число 63. 63 = 100 – 37 (дополнительное к 37) и из результата 148 отбрасывается единица в старшем разряде. Получается число 48, которое является искомой разностью. Аналогичным образом можно и в двоичной системе заменить вычитание сложением с использованием двоичного кода. Саму операцию вычитания можно представить как сложение с отрицательным числом.
Сложение На основании этих равенств производится сложение многозначных двоичных чисел. Рассмотрим следующий пример: Сложение начинают с разряда единиц (1)2 + (1)2 = (10)2. Ноль записывают под чертой, а единицу переносят в следующий разряд — разряд двоек (надписывают сверху). Переходят к разряду двоек: (1)2 + (0)2 + (1)2 = (10)2. Ноль записывают, а единицу переносят в разряд четверок. Переходят к разряду четверок: (1 )2 + (1)2 + (0)2 = (10)2. Ноль записывают, а единицу переносят в разряд восьмерок. Так, переходя от разряда к разряду (справа налево), постепенно получают все цифры суммы.
Обратный и дополнительный коды двоичных чисел
Формирование обратного и дополнительного кодов Обратный код двоичного числа образуется по следующему правилу: Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т. е. нули заменяются единицами, а единицы — нулями. Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда (20 — для целых чисел, 2 -к — для дробных). Пример 2. 3
Вычитание двоичных чисел производится последовательно по разрядам от младшего к старшему. Если из меньшей цифры в данном разряде вычитается большая, то производится заем единицы из следующего старшего разряда, т. е. цифра этого старшего разряда становится на единицу меньше. В вычислительной технике дополнительный код отрицательных двоичных чисел формируется по следующему правилу: сначала цифры всех разрядов, кроме знакового, инвертируют (вместо 0 записывают 1, а вместо 1 — 0) и в младший разряд добавляют единицу. Если в младшем разряде уже стоит единица, то изменяется цифра в следующем, а, возможно, и в более старших разрядах.
Арифметические операции над двоичными числами Умножение двоичных чисел наиболее просто реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам. Пример 1. 2 Умножить два числа A 10 = 6; В 10 = 5. Перемножим эти числа, представленные прямыми двоичными кодами, так же, как это делается в десятичной системе. С = 30 Нетрудно видеть, что произведение получается путем сложения частных произведений, представляющих собой разряды множимого, сдвинутые влево в соответствии с позициями разрядов множителя. Частные произведения, полученные умножением на нуль, игнорируются.
Арифметические операции над двоичными числами Деление. Операция деления, как и в десятичной арифметике, является обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига. Пример 1. 3 Разделить два числа А 10 = 40; В 10 = 5. Деление произведено так же, как это делается обычно в десятичной системе. Сначала проверяется, можно ли вычесть значение делителя из старших разрядов делимого. Если возможно, то в разряде частного записывается единица и определяется частная разница. В противном случае в частное записывается нуль и разряды делителя сдвигаются вправо на один разряд по отношению к разрядам делимого. К полученной предыдущей разнице сносится очередная цифра делимого, и данный процесс повторяется, пока не будет получена необходимая точность. Если учесть, что все вычитания в ЭВМ заменяются сложением в обратном или в дополнительном коде, то действительно операция деления приводится к операциям сложения и сдвигам вправо разрядов делителя относительно разрядов делимого.