КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример 3.27
Результат — на рис. 3.36. Рис. 3.36. Результат выполнения примера 3.27 Рассмотрим еще один пример арифметического сложения в коде "8421". Пример 3.28 Результат — на рис. 3.37. Рис. 3.37. Результат выполнения примера 3.28 Из примера 3.28 видно, что межтетрадные переносы, возникающие в процессе коррекции предварительной суммы, могут таким образом изменить старшие тетрады, что их также потребуется корректировать. В худшем случае количество последовательных коррекций будет равно разрядности слагаемых (рассмотрите пример сложения 9999+1 в коде "8421"). На основании вышеизложенного можно отметить следующие недостатки применения кода "8421": □ необходимо отслеживать не только переносы из тетрад, но и значения модулей тетрад предварительной суммы; □ в общем случае невозможно произвести одновременно коррекцию во всех тетрадах, где может потребоваться коррекция. Для преодоления отмеченных выше недостатков можно использовать другие коды, например "8421+3". При кодировании с избытком три каждая десятичная цифра представляется как где ai — код "8421" цифры. Тогда при сложении (3.32) где ch — предварительная сумма, в тетраде всегда будет формироваться истинное значение десятичного переноса — для всех комбинаций десятичных слагаемых, для которых значение . Однако если переноса из тетрады не было, то результат сформируется "с избытком 6", поэтому потребуется коррекция тетрады предварительной суммы — удаление из тетрады лишней тройки. Вычитание (-3) можно заменить сложением с дополнением до 3 — (+13). Обязательно возникающий при этом перенос не передается в следующую тетраду. Потеря переноса равносильно потере 16, т. е.-16+13= -3. Если перенос из тетрады был, то его вес равен 24=16, таким образом, из тетрады удаляется 16, а вес десятичного переноса — 10. Поэтому перенос из тетрады в коде "8421+3" уносит из тетрады лишнюю шестерку, которую и нужно добавить при коррекции. Но согласно (3.32) сложение тетрад "с избытком 3" приводит к получению суммы "с избытком 6", поэтому вместо добавления шестерки достаточно добавить тройку. Итак, коррекции при сложении в коде "8421+3" подлежат все тетрады предварительной суммы, причем к тем тетрадам, из которых сформировался перенос, следует добавить константу 0011, а к тетрадам, из которых не было переноса, добавить константу 1101. Возникающие при коррекции межтетрадные переносы игнорируются! Таким образом, коррекция при сложении в коде "8421+3", во-первых, определяется только значениями переносов из тетрад предварительной суммы и, во-вторых, может проводиться параллельно во всех тетрадах. Пример 3.29 Результат — на рис. 3.38. Рис, 338. Результат выполнения примера 3.29 Еще одним достоинством кода "8421+3" является простой способ получения дополнения до 9 — достаточно просто проинвертировать разряды кода. Действительно, проинвертировав все разряды четырехразрядного двоичного числа а, мы получим его дополнение до 1111=1510, что в коде "с избытком 3" соответствует 15 - (а+3)=(9 - а) +3. Это свойство позволяет довольно просто реализовать операцию вычитания через сложение в обратном или дополнительном коде.
Дата добавления: 2015-04-25; Просмотров: 863; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |