logo
учебное пособие по А и ЛО ВТ

Двоично-десятичные коды

Пусть число A представлено в системе счисления с основанием r:

Цифры ai будем представлять двоичными разрядами d1,d2,…,dm. Каждому двоичному разряду припишем веса p1,p2,…,pm. Тогда каждый разряд ai числа A будет иметь вид , а все число

, (4)

где n и m определяют общее число двоичных разрядов.

Если каждый разряд числа имеет вес и при r≠2k не выполняется равенство pk=r ∙ pk-1, то системы принято называть взвешенными. Количество разрядов m должно удовлетворять выражению m ≥ log2r. Если десятичное число записано в виде (4), то будем говорить, что число представлено в двоично-десятичном коде. Наибольшее распространение из них получили коды, в которых десятичная цифра представляется двоичной тетрадой (BCD коды). Существует множество способов кодирования десятичных цифр. Существенным при этом является простота представления инверсных кодов и простота выделения (формирования) сигнала переноса из цифры в цифру.

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

Если каждая десятичная цифра кодируется соответствующим двоичным эквивалентом, то такое кодирование называется кодом прямого замещения.

BCD код - код взаимодополняемый до 15. Это создает некоторые неудобства при суммировании чисел - ввод поправки в некоторых случаях. В то же время этот код имеет одно существенное достоинство – аддитивность: сумма кодов равна коду суммы:

0011 код 3

0101 код 5

1000 код 8

Основной недостаток этого кода заключается в том, что инверсия какой либо цифры оказывается цифрой, дополняющей данную цифру до 15, а не до 9.

a = 0100

a = 1011 11, то а + а = 1111 = 15

В табл. 4 показаны различные способы кодирования десятичных цифр.

Таблица 4.

Дестичные

цифры

Эквивалент в коде

8421

2421

7421

5211

8421+3

3а+2

2 из 5

0

0000

0000

0000

0000

0011

00010

11000

1

0001

0001

0001

0001

0100

00101

00011

2

0010

0010

0010

0011

0101

01000

00101

3

0011

0011

0011

0101

0110

01011

00110

4

0100

0100

0100

0111

0111

01110

01001

5

0101

1011

0101

1000

1000

10001

01010

6

0110

1100

0110

1010

1001

10100

01100

7

0111

1101

1000

1100

1010

10111

10001

8

1000

1110

1001

1110

1011

11010

10010

9

1001

1111

1010

1111

1100

11101

10100

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4