Операции над десятичными числами (десятичная арифметика) часто включаются в состав основных команд универсальных ЭВМ. Кроме того, десятичная арифметика реализуется широко в калькуляторах и персональных компьютерах. Поэтому необходимо знать алгоритм выполнения арифметических операций над десятичными числами.
Д-код (двоично-кодированное представление) десятичного числа – такое его представление, в котором каждая десятичная цифра изображается тетрадой из двоичных символов:
где: двоичные разряды j-ой тетрады;
n – количество десятичных разрядов
При использовании Д-кодов желательно, чтобы кодирование удовлетворяло некоторым ограничениям. Приведем пять основных требований, которые сформулированы Рутисхаузером:
· Единственность. Необходимо однозначное соответствие цифр и тетрад.
· Упорядоченность. Большим десятичным цифрам должны соответствовать большие (по количественному эквиваленту) тетрады. Выполнение этого требования необходимо при сравнении кодированных чисел.
· Четность. Четным десятичным цифрам должны соответствовать четные тетрады (у которых в крайнем правом разряде стоит нуль), а нечетным цифрам - нечетные тетрады.
· Дополнительность. Если цифры десятичной CС таковы, что сумма их равна девяти, то им должны сопоставляться тетрады, которые взаимно инвертированы (для образования обратного или дополнительного кода).
· Весомозначность. Должны существовать четыре веса p1p2p3p4 таких, что если десятичной цифре "х" сопоставлена тетрада то имеет место равенство
Кодирование, удовлетворяющее всем пяти требованиям, называется совершенным. Единственным кодом, обладающим всеми пятью свойствами, является код Айкена-Эмери (код 2421).
На практике часто используются, также, код Штибитца (8421+3) и код прямого замещения (стандартный код 8421).