Сумматоры — страница 5

  • Просмотров 9006
  • Скачиваний 573
  • Размер файла 330
    Кб

на все числа, в знаковом разряде которых присутствует единица, т. е. на отрицательные числа. Аналогично десятичным числам нулем и единицей в знаковом разряде представляются положительные и отрицательные двоичные числа. Это особенно удобно, когда числа в такой форме обрабатываются компьютером. Дополнение каждой цифры двоичного числа до наибольшей в разряде (в данном случае до единицы) сводится просто к ее инвертированию:

дополнением 1 является 0, дополнением 0 является 1. Такое представление числа называют его обратным кодом или дополнением до единицы. Прибавлением единицы к младшему разряду обратного кода образуется дополнительный код числа – дополнение до двух. Эквивалентным представлением отрицательного двоичного числа является дополнительный код его абсолютной величины и единицы в знаковом разряде. Так, при А =–1210 =-11002 [A]обр= 0011, [A]доп=

0100. Легко проверить, что отрицательное число (–16), соответствующее единице в знаковом разряде [A]доп, и положительное число (+4) в цифровых разрядах образуют исходное число (–12). Аналогично, при В=–2510= =-110012 [В]обр= 00110, [В]доп= 00111. Для положительных чисел прямой, обратный и дополнительный коды совпадают. От изображения самого числа их отличает нуль в знаковом разряде. Так, если число А=1810=100102, то Апр=Аобр=Адоп= 010010. Поэтому если в

результате вычислений получается положительное число (нуль в знаковом разряде), то для его изображения в обычной форме цифровые разряды не должны подвергаться никаким преобразованиям, так как в такой форме они уже число представляют. С введением дополнительного кода вычитание можно заменить сложением. Как и в десятичной системе счисления, здесь знаковые разряды складываются аналогично цифровым, учитывается перенос в них из

предыдущего разряда, а перенос из знакового разряда игнорируется.   Пример 9.4. Определить разность А–В, если А= 1410=11102, В=910=10012: Присутствие нуля в знаковом разряде результата указывает на то, что А-В>0, и результат представлен цифровыми разрядами в окончательном виде: A-B=01012=510.   Пример 9.5. Определить разность А-В, если A=910=10012, В= 1410=11102: Единица в знаковом разряде свидетельствует о том, что разность А– В<0. Ее абсолютную

величину можно найти, определив дополнительный код числа 1011 в цифровых разрядах. Он равен увеличенному на единицу обратному коду: 0100 +0001 = 0101. Искомая разность А–В = –01012 = –510. Приведем другой вариант решения заданных примеров, представив вычитаемое не в дополнительном, а в обратном коде.   Пример 9.6. Определить разность А–В, если А = 1410= 11102, В = 910 = 10012: Легко видеть, что правильный результат (0101) из примера 9.4 можно