www.chms.ru - вывоз мусора в Балашихе 

Динамо-машины  Обратные коды 

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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189

обратных двоичных комбинаций ООП и 1100 (причем комбинация ООП изображает цифру О, а комбинация 1100 - цифру 9); паре десятичныхцифр 1 и 8 соответствует пара двоичных комбинаций 0100 и 1011 и т. д. Ясно, что и в любом другом двоичном коде для десятичных цифр, построенном по этому способу, отыскание дополнений от десятичных цифр до 9 будет выполняться так же, как в коде с излишком 3,- путем обращения всех двоичных цифр.

Количество способов, которыми из восьми взаимно обратных двоичных комбинаций можно выбрать пять и поставить их в соответствие пяти взаимно дополнительным парам десятичных цифр, равно количеству размещений из 8 элементов по 5:

= Ц- = 6720.

Когда пары двоичных комбинаций каким-либо образом поставлены в соответствие парам десятичных цифр, возможны еще 32 различных варианта построения кода (так как в каждой из пяти пар соответствие между двоичньши комбинациями и десятичными цифрами может быть установлено двумя различными способами; 32=2).

Итого количество различных двоичных кодов для десятичных цифр, в которых дополнение до 9 получается обращением двоичных цифр, равно

5 Ой 8[ 31

А1.2 = . 32 = 215040.

Очевидно, что количество различных 5-разрядных двоичных кодов для десятичных цифр, обладающих аналогичным свойством, равно

Лб-25 = щ-321,67.10.

Практическое приложение из этого множества кодов нашел, кроме кода с излишком 3, еще так назьшаемый код laquo;2, 4, 2, 1 raquo;. В нем десятичные цифры представлены че-гырьмя двоичными разрядами позиционным способом - правда, с искусственным весом для старшего из разрядов; цифры в названии кода как раз и соответствуют весам двоичных разрядов (старший разряд вместо естественного



веса 8 имеет вес 2). Десятичные цифры в коде laquo;2, 4, 2, 1 raquo; записываются в виде

(0)io

= 0000,

(5)io =

1011,

(l)io

= 0001,

(6)io =

1100,

(2)io

= 0010,

(7)io =

1101,

(3)io

= ООП,

(8)io =

1110,

(4)io

= 0100,

(9)io =

1111.

Впрочем, здесь возможны и некоторые варианты. Например, десятичную цифру 4 можно записать в виде 1010, а цифру 5 - Б виде 0101 и т. д.

Если требовать, чтобы веса разрядов были положительны, то, как можно показать, имеется еще только три кода, в которых десятичные цифры записываются позиционньш способом четырьмя двоичными разрядами и в которых дополнения от десятичных цифр до 9 получаются обращением двоичных цифр. Это - коды с весами двоичных разрядов 5, 2, 1, 1; 4, 3, 1, 1; 3, 3, 2, 1. Общим для них (и для кода laquo;2, 4, 2, 1 raquo;) является то, что сумма весов равна 9.

Заметим здесь, что код с излишком 3 является по существу не позиционным, а символическим способом записи десятичных цифр. Однако сложение и другие операции над десятичными числами выполняются в нем удобнее, чем, например, в позиционном коде laquo;2, 4, 2, 1 raquo;.

Если не требовать, чтобы веса двоичных разрядов были положительны, то можно предложить еще несколько позиционных способов записи десятичных цифр, в которых дополнения до 9 образуются по тем же правилам, что и в указанных выше кодах. Таков, например, код с весами двоичных разрядов 8, 4, -2, -1 (код laquo;8, 4, -2, -1 raquo;).

Десятичные цифры в нем записываются в виде

(0)10 = 0000, (5)10=1011,

(1)10 = 0111, (6)10=1010,

(2)10 = 0110, (7)10=1001,

(3)io = 0101, (8)io = 1000,

(4)io = 0100, (9)io =1111.

Легко видеть, что от записи десятичных цифр кодом с излишком 3 приведенная запись отличается тем, что две



младшие двоичные цифры заменейы на обратные. Это замечание может оказаты;я полезным при разработке способов выполнения операций над числами в коде с излишком 3 или в рассмотренном коде ( laquo;8, 4, -2, -1 raquo;).

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

Один из них - код i lt;c излишком 11 raquo; (или код laquo;с + 11 raquo;). В нем пяти двоичным разрядам присвоены их естественные веса 16, 8, 4, 2, 1, но вместо любой десятичной цифры а в этих разрядах записываете величина а + 11. Свойства этого кода полностью аналогичны свойствам кода с излишком 3.

В другом из кодов двоичным разрядам тоже приписаны их естественные веса, но вместо любой десятичной цифры а пятерка двоичных разрядов содержит величину За + 2 (так называемый код laquo;За + 2 raquo;). Десятичные цифры при этом, очевидно, изображаются следующим образом:

(0)io = 00010, (5)io = 10001, (l)io = 00101, (6)io = 10100, (2)io = 01000, (7)io= 10111,

(3)10 = 01011, (8)10=11010,

(4)io = 01110, (9)io= 11101.

Легко видеть, что дополнения от десятичных цифр до У здесь также получаются заменой на обратные всех двоичных цифр: замена всех двоичных цифр на обратные эквивалентна вычитанию из числа 31 (так как (lllll) == = (31)io); при этом вместо величины Зс+2 получается величина 31 - (Зс + 2) = 3 -(9 - с) + 2, которая является изображением цифры 9 - а.

При сложении двух десятичных цифр ф и с), записанных указанным образом, если сложение выполняется по правилам двоичной арифметики, получим величину (ЗЬ + + 2) -}- (Зс + 2) = 3 ф + с) + 4. При этом наличие двоичного переноса влево от старшего разряда пятерки двоичных разрядов означает, что

3 (fc -f с) -f 4 gt; 32.



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 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189