В качестве знака используется старший разряд. Знаковый разряд при использовании дополнительного и обратного кода участвует в операции сложения, но не участвует в операции инверсия.
Арифметические операции
Знаковый разряд соответствует:
- 0 –положительному числу,
- 1 – отрицательному.
Пример:
+0.01001
0.01101
0.10110Вычитание реализуется через сложение путем изменения на обратный знака вычитаемого, т.е. через сложение положительного и отрицательного числа. В данном случае сложение осуществляется в дополнительном или обратном коде.
Действия, выполняемые при работе в дополнительном коде:
- инверсия отрицательного числа (знаковый разряд сохраняется);
- +1;
- арифметическое действие.
Действия, выполняемые при работе в обратном коде:
1. инверсия отрицательного числа (знаковый разряд сохраняется);
2. арифметическое действие;
3. +1 (при сложении 2-х отрицательных чисел дважды прибавить по 1).Не забудьте на каждое преобразование-инверсию надо прибавить по одной 1.
Далее после выполнения этих трех пунктов при работе в обратном или дополнительном коде мы должны проанализировать результат.
- При получении положительного результата мы его оставляем без изменений, помня, что положительное число в прямом, дополнительном и обратном кодах имеет один и тот же вид.
- При получении отрицательного результата мы его должны привести к прямому коду, выполнив над ним операцию инверсии и прибавив затем единицу.
В результате иногда может наблюдаться абсурдная ситуация. Например, при сложении отрицательного числа с положительным, когда первое число больше по модулю, чем второе, ответ получается положительным. В таких случаях говорят о переполнении разрядов, т.к. знаковый разряд остается на той же разрядной позиции, а разрядов отведенных для смысловой части числа не хватает для правильного его отображения.
Пример: Сложить два числа.
a=0.10110 b=1.01101 + а=0.10110
+1.10010 bдоп.к.=1.10011
1 ∑доп.к. =0.01001=∑пр.к.
bдоп.к.=1.10011Ответ: 0.01001.
Пример: Сложить два числа.а=1.10110 b=0.01101 + aдоп.к.=1.01010
+ 1.01001 b=0.01101
1 ∑доп.к. 1.10111≠∑пр.к
адоп.к.=1.01010
+1.01000
1
∑пр.к.= 1.01001Ответ: 1.01001.
Пример: Сложить два числа.
а=1.10110 b=0.01101 +аобр.к.=1.01001
аобр.к.=1.01001 b=0.01101
+1.10110
1
∑обр.к=1.10111≠∑пр.код
+1.10111
1
≠∑пр.к.= 1.11000Ответ: 1.11000.
Модифицированные коды
Используют 2 знаковых разряда. Суммирование производится по описанной выше методике.
Если в результате сложения в знаковых разрядах будет 01 или 10. Это является признаком переполнения.ЛУ – логическое устройство
Информация, передаваемая в цифровых системах, представляется в виде кодовых слов, при представлении кодом нечисловой информации, чтобы отличить 0 и 1 от цифр эти символы будем называть логическим нулем и логической единицей.
ФАЛ – зависимость выходных переменных zi выраженная через совокупность входных переменных xj с помощью операций алгебры логики, называется функцией алгебры логики.
Функция называется полностью определенной, если она задана на всех 2n ее наборах; если часть не задана, то функция называется частично неопределенной или недоопределенной.
Если известно, что по условию работы устройства появление некоторых входных комбинаций невозможно, то значит, ФАЛ на этих наборах не задается. Это необязательные или факультативные значения функции, их можно выбирать произвольно исходя из удобств минимизации. Входные наборы, на которых функция имеет факультативные значения, называются запрещенными.Классификация цифровых устройств
- По способу ввода и вывода
К таким устройствам относятся кодеры, декодеры, мультиплексоры, демультиплексоры, сумматоры, компараторы.
К ним относятся триггеры и все устройства, построенные на триггерах: регистры, счетчики, ОЗУ, ПЗУ.