Арифметические операции над двоично-десятичными кодами чисел


При обработке больших массивов экономической информации пере­воды чисел из десятичной системы в двоичную и обратно могут тре­бовать значительного машинного времени. Некоторые образцы ЭВМ поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые числа в их двоично-десятичном пред­ставлении. Действия над ними также приводятся к операции алгебра­ического сложения отдельных цифр чисел, представленных дополни­тельными кодами в соответствии с табл. 2.3.

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

1. Сложение чисел начинается с младших цифр (тетрад) и произво­дится с учетом возникающих переносов из младших разрядов в старшие.

2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.

3. Для того чтобы при сложении двоично-десятичных цифр возни­кали переносы, аналогичные при сложении чисел в десятичном пред­ставлении, необходимо проводить так называемую десятичную кор­рекцию. Для этого к каждой тетраде первого числа прибавляется до­полнительно по цифре 610=01102, что позволяет исключить шесть не­используемых комбинаций (1010—1111)2, так как они кодируют шестнадцатеричные цифры АF (числа 10—1510).

4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из которых не было переносов, изыма­ются ранее внесенные избытки 610=01102. Для этого проводится вто­рая коррекция. Операция вычитания заменяется, как и обычно, опе­рацией сложения с числом -6, представленным дополнительным ко­дом 10102, но только в тех разрядах, в которых отсутствовали пере­носы. При этой второй коррекции переносы из тетрад блокируются.

5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (см. п. 1—4) к тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. При этом первая коррекция не проводится, так как в дополнениях тет­рад она учитывается автоматически. Знак результата определяется по знаку числа с большим модулем.

Пример 2.14.Сложить два числа Аю = 177; В10 =418.



Дата добавления: 2017-01-26; просмотров: 2347;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.