Главная страница  Систематические методы минимизации 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [ 19 ] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128]

ГЛАВА 3

Двоичные коды

3.1. ЧЕТЫРЕХЭЛЕМЕНТНЫЕ КОДЫ

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

Для выражения каждой десятичной цифры нужны четыре двоичные цифры, т. е. четыре бита, которые позволяют получить 2*= = 16 комбинаций. Так как из 16 комбинаций 6 являются избыточными, то общее число всех возможных кодов из 4 бит равно 16!/6!2,9-10°. Однако на практике используются только такие коды, которые обеспечивают самую рациональную и простую обработку цифровой информации. Чаще всего используются так называемые весовые коды, позволяющие достаточно просто переводить десятичные цифры d в двоичные цифры b по формуле

где символы fs-Vo являются весовыми коэффициентами соответствующего кода, а символы Ьз-bo - двоичные цифры 1 или 0. Всего существует 16 весовых кодов f3f2Wit;o. Это 8421, 7421, 7321, 6421, 6321, 6311, 6221, 5421, 5311, 5221, 5211, 4421, 4321, 4311, 4221 и 3331. Например, в коде 8421 Уз=8; 2=4; Vi=2; ио=1-Цифры отдельных кодов легко определяются из соотношения (3.1). Например,

(9)ie=8-l-f4-0-f2.0-fM=(1001W

(9)io=5 • 1-f 4 • 1-f 2.0-f 1 • 0=(1100 W-

Обратный процесс также прост.



у этих кодов некоторые коэффициенты v могут быть отрицательными, например в коде 8421. В этом коде (9)io=8-l + , 4.1 2.1 - 1.1 = (1111)8,21.

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

Таблица 3.1

8421

8421

Код Грея

2421

2421

2421

5311

5421

0000

0000

0000

0000

0000

0000

0000

0000

0001

0111

0100

0001

0001

0001

0001

0001

0001

0010

0101

0010

0010

0010

0101

0010

0100

0100

0100

0111

0100

1010

0100

0101

0100

0101

1011

1000

0111

1011

1011

0101

1000

1000

1010

1001

0101

1100

1100

1001

1001

0111

1001

1010

0100

1101

1101

0111

1011

1010

1000

1000

1011

1100.

1110

1110

1110

1100

1011

1001

1111

1100

1101

1111

1111

1101

1100

Код 8421. Это наиболее распространенный код. Последовательности десятичных цифр соответствует последовательность четырехразрядных двоичных групп. Преобразование чисел из десятичной системы в код 8421 и наоборот производится очень просто. Например:

(5679)10=0101 ОНО Olll 1001 =(0101011001111001)8421.

Так же прост и обратный перевод. Код может быть выгодно использован и для внутренних операций в цифровой системе, если число этих операций мало по сравнению с числом переводов между двоичной и десятичной системами на входе и выходе. Арифметические операции такие же, как в двоичной системе, но так как используется только 10 из 16 возможных комбинаций, то с учетом шести избыточных комбинаций должны быть произведены поправки результатов. Пример сложения представлен в табл. 3.2. Результат суммирования С двух цифр будет правильным только в том случае, если он не превышает 9. Если он лежит в интервале между 10 и 15, то коррекция производится добавлением цифры 6, причем имеет место перенос в декаду ближайшего высшего разряда. Если результат находится между 16 и 18, то производится перенос в декаду ближайшего высшего разряда и результат корректируется добавлением цифры 6. Невыгодно возникновение переноса при коррекции результата, коррекция должна производиться в каждой декаде отдельно. Поэтому код 8421 нельзя рекомендовать для параллельного сложения.

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



10 :Si-5

16 SS

£ 18

0101 5

1000

1001

+0010 +2

+ 0011

+ 3.

+ 1000

+ s

0111 7

1011

перенос

•J0001

коррекция

+ 0110

коррекция

+ 0110

перенос

110001(1)

0111

0101

1000

1001

+ 0010

+ 0011

+ 1000

+ 238

011Г

1011

JOOOl

1 -

+0110

1100

,0111-,

+ 0110

7

1000,

1£010,

сумма которых равна 9, соответствуют две дополняющие комбинации двоичных цифр. Например, в коде 8421 цифре 5 соответствует двоичное число 1011, а его дополнению 0100 - цифра 4. Следующими дополнениями являются, например 0000 и 1111, 0111 и 1000 и т. д. Другими самодополняющимися кодами являются код 2421 и код с избытком 3. В самодополняющихся кодах дополнения возникают простой заменой единицы нулем и нуля единицей.

Код с избытком 3. Этот код не является весовым кодом. Он возникает добавлением (3) 10= (0011)2 к коду 8421. Он удобен для арифметических операций, так как при сложении довольно просто можно определить необходимость коррекции результата. А так как это самодополняющийся код, то он может быть ис-

Таблииа 3.3

1000

1011

коррекция +0101

+ 2.

Перенос

+ 0111

+ з

1101

JJOOOl

-ООН

+ 0011

1010

0100

декада. 10

10°

1000

1011

1100

+ 0101

+0110

1011

+ 239

1110

-е-10001

-6-jJOlH

-ООН

+ 0011

+ 0011

1011

0101

1010




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [ 19 ] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128]

0.0139