Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Формальные правила поразрядного сложения в Д-кодах




Представление десятичных чисел в Д-кодах

ВЫПОЛНЕНИЕ ОПЕРАЦИЙ НАД ДВОИЧНО-ДЕСЯТИЧНЫМИ ЧИСЛАМИ

 

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

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

A = {a4,na3,n a2,n a1,n}n {a4,n-1 a3,n-1 a2,n-1 a1,n-1}n-1... {a4,0 a3,0 a2,0 a1,0}0,

 

где ai,j _ двоичные разряды тетрады, i - номер разряда внутри тетрады, j - номер самой тетрады.

Для однозначности перевода чисел в Д-код и обратно желательно, чтобы разряды тетрад имели определенный вес. Тогда значение десятичной цифры ai соответствует выражению: ai = a4d4 + a3d3 + a2d2 + a1d1, где di - вес разряда тетрады. Максимальное допустимое число в тетраде - 9. Если возникает число 10 и больше, то единица переходит в следующую старшую тетраду. Существуют различные Д-коды. Мы будем рассматривать Д-код, вес разрядов тетрады которого следующий: 8, 4, 2, 1. Этот код называется также кодом Д1 прямого замещения. Но есть Д-коды с тетрадами: 5, 1, 2, 1; 2, 4, 2, 1 и т.д. Указанные комбинации в этих Д-кодах разрешены. Все другие комбинации - запрещены. Наличие разрешенных и запрещенных комбинаций - очень важное свойство Д-кодов. Оно отличает их от обычных позиционных систем счисления, в которых все комбинации - разрешенные.

В рассматриваемом Д-коде прямого замещения (8421) разрешенные комбинации соответствуют двоичным эквивалентам десятичных цифр с весами разрядов, равных степеням основания 2. Этот Д-код чаще всего используется в различных компьютерах.

В таблице 5.1 приведены примеры записи некоторых десятичных чисел в коде Д1 прямого замещения.

Т а б л и ц а 5.1

Десятичные цифры Код Д1 Десятичные цифры Код Д1 Десятичные цифры Код Д1

0 0000 10 0001 0000 20 0010 0000

1 0001 11 0001 0001 21 0010 0001

2 0010 12 0001 0010 22 0010 0010

3 0011 13 0001 0011 33 0011 0011

4 0100 14 0001 0100 34 0011 0100

5 0101 15 0001 0101 45 0100 0101

6 0110 16 0001 0110 56 0101 0110

7 0111 17 0001 0111 67 0110 0111

8 1000 18 0001 1000 78 0111 1000

9 1001 19 0001 1001 89 1000 1001

 

 

Для определения формальных правил поразрядного сложения чисел, представленных в Д-коде, рассмотрим те особенности, которые присущи этим кодам.

1. Наличие разрешенных и запрещенных комбинаций.

Появление запрещенной комбинации при выполнении каких-то действий над числами свидетельствует о возникновении ошибки или же о необходимости ввести корректировку результата.

2. При сложении тетрад возникает потетрадный перенос, т.е. перенос 1 в старшую тетраду, вместо десятичного поразрядного переноса.

Введем правила сложения Д-кодов. При сложении чисел в Д-коде могут возникнуть следующие случаи.

1. При сложении двух тетрад в данном разряде числа образуется сумма меньше 10, значит не требуется коррекции результата. Например: сложить две тетрады a = 0100, b = 0101 при условии, что нет переноса из младшей тетрады. с = 0100 + 0101 = 1001. Результат меньше 10.

2. Свидетельством того, что результат суммирования неправильный, является либо появление запрещенной комбинации, если 15 с 10, либо появление потетрадного переноса p = 16, что превышает значение десятичного переноса на 6. Следовательно, требуется коррекция результата в данной тетраде введением поправки, равной +0110 = 6(10).

Например:

1) Сложить a = 0101, b = 1001, при наличии переноса из младшей тетрады: p = 1: c = a + b + p = 1111 - запрещенная комбинация и нужна поправка:

+ 0110

[1] 0101

т.е. результат в данной тетраде равен 0101 и образован перенос в старшую тетраду.

2) Сложить 2 тетрады a = 0111, b = 1001, p = 1

c = a + b + p = [1]0001 появился потетрадный перенос и требуется коррекция результата: с = 0001 + 0110 = 0111, p = 1 - перенос в старшую тетраду.

Рассмотрим еще один пример:

сложить a = 27910 = 0010 0111 10012, b = 58110 = 0101 1000 00012

a = 0010 0111 1001

+ b = 0101 1000 0001

0111 1111 1010

+ 0110 0110 поправки

с = 1000 0110 0000

Здесь стрелка указывает передачу 1 десятичного переноса.

Ответ: с = 1000011000002 = 86010.

Сумматор одной тетрады, предназначенный для формирования сумматоров чисел представленных в Д-коде прямого замещения может быть реализован следующим образом:




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 484; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.