Сделай Сам Свою Работу на 5

Код с естественными весами 8-4-2-1

Введение

Десятичная система счисления (10 СС) по критерию удобства работы человека с ЭВМ стоит на первом месте. При её использовании отпадает необходимость преобразования входной десятичной информации в двоичную систему счисления (2 СС), а результатов решения – обратно в 10СС. При решении научно-технических задач, характеризуемых сложными вычислениями и относительно небольшими объёмами входной и выходной информации, время на выполнение этих преобразований невелико.

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

В таких системах десятичные цифры кодируют двоичными кодами. Минимальное количество двоичных разрядов для кодирования десяти цифр – четыре разряда (тетрада). Однако, тетрада обеспечивает 16 различных двоичных комбинаций, а для кодирования цифр надо взять лишь десять. Поэтому рациональный выбор кодов десятичных цифр потребовал разработки требований к 2-10 кодам.

 

Основные требования к двоично-десятичным кодам.

1. Однозначность соответствия пары «десятичная цифра -двоичная тетрада». Этим обеспечивается эффективность процессов кодирования – декодирования.

2. Упорядоченность пар: бОльшим десятичным цифрам должна соответствовать бОльшая тетрада (или наоборот). Этим обеспечивается эффективность операции сравнения чисел.

3. Чётным десятичным цифрам должны соответствовать чётные тетрады (или наоборот). Этим обеспечивается эффективность операции округления и бОльшая простота выполнения некоторых арифметических операций.

4. Самодополняемость любой тетрады, изображающей десятичную цифру, то есть замена всех двоичных цифр исходной тетрады на взаимнообратные должна привести к тетраде, изображающей другую десятичную цифру, являющуюся для исходной дополнением до старшей цифры – девятки. Этим обеспечивается эффективность операции алгебраического сложения.



5. Весомозначность кода, то есть однозначность веса каждого разряда двоичной тетрады. Этим обеспечивается эффективность выполнения всех арифметических и логических операций над двоично-десятичными числами.

 

 

В данных методических указаниях будут рассмотрены три тетрадных 2-10 кода: код с естественными весами или код прямого замещения 8-4-2-1; код с избытком три 8-4-2-1+3; код Айкена 2-4-2-1. Цифры в кратких числовых наименованиях кодов указывают веса двоичных разрядов в каждой двоично-десятичной тетраде, начиная со старшего разряда. Кроме того будет рассмотрен один пентадный двоично-десятичный код 3а+2. В таблице 1 схематически представлено расположение трёх тетрадных кодов на полной упорядоченной совокупности двоичных тетрад.

 

Таблица 1.

Упорядоченная совокупность двоичных тетрадных кодов
8   Код 8-4-2-1
    Код 8-4-2-1+3
  Код 2-4-2-1

 

Операция алгебраического сложения

В двоично-десятичных кодах

Код с естественными весами 8-4-2-1

Таблица 2.

10сс ПК ОК

Это простейший двоично-десятичный код, в котором каждая десятичная цифра представлена своим двоичным эквивалентом.

Выполнение операции алгебраического сложения требует перевода цифр из прямого кода (ПК) в обратный код (ОК) или дополнительный код (ДК). В двоично-десятичной арифметике принято использовать обратный код. Главный недостаток кода с естественными весами 8-4-2-1 в отсутствии свойства самодополняемости.

Простое инвертирование тетрад прямого кода образует псевдообратный код, который дополняет исходную тетраду до 15=1111, а для формирования обратного кода десятичной цифры необходимо получить её дополнение до старшей цифры в 10сс, которая равна 9. Значит, в инвертированной тетраде получается значение, большее нужного на 6=0110, и его надо вычесть из псевдообратного кода. Заменяя вычитание сложением в ДК, получим корректирующий код:

-610=-01102=1010дк

Таким образом, для формирования обратного кода десятичного числа в коде 8-4-2-1 надо инвертировать тетрады, представляющие цифры этого числа, и прибавить потетрадно код 1010, отбрасывая единицы переноса между тетрадами.

При сложении двух чисел сумма в к-ом разряде числа может быть записана формулой: Sk = Ak+Bk+Ck,

где Акк- цифры в к-ом разряде слагаемых,

Ск- единица переноса в к-ый разряд из предыдущего разряда.

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

1. Sk = Ak+Bk+Ck<10 – единицы переноса в старший разряд нет и коррекция не нужна;

2. 10 Sk 15 – необходимо формировать единицу переноса в старший разряд, но естественным образом она не возникает; значит нужен корректирующий код +610 = 01102.

Признаком введения коррекции являются «неправильные» тетрады, соответствующие десятичным числам 10,11,12,13,14,15, обнаружить которые нетрудно: все они имеют единицу в старшем разряде и единицу в 3-ем или 2-ом разрядах двоичного кода.

Простейшая комбинационная схема для обнаружения «неправильных» тетрад должна работать в соответствии с логическим уравнением: К12 К3)=1, если в двоичной тетраде разряды обозначены так К1К2К3К4.

3. Sk 16 – единица переноса в старшую тетраду возникает естественно, однако в самой тетраде результат неверный: нужно получить (Ak+Bk+Ck-10), а получается (Ak+Bk+Ck-16). Следовательно, необходима коррекция кодом +610=01102 тех тетрад, из которых сформировалась единица переноса.

 



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.