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

Пусть, например (см. пример 1 на стр. 64), отрицательное десятичное число -0,537 записано прямым кодом в виде

-.537.

Для нахождения цифр основных разрядов этого числа в дополнительном коде найдем сначала дополнение от каждой цифры до 9:

.462.

(эта величина - дополнение от величины .537 не до 1,000, а до 0,999); затем добавим единицу младшего разряда:

, -462 + 001

463

При обратном переходе на первом этапе из величины . 463 получим

т .536,

на втором этапе

, -536 + 001

537

Аналогичным образом в примере 2 (стр. 65) имеем отрицательное двоичное число - /le, записанное прямым кодом в виде

-.1011.

При переходе к дополнительному коду цифры основных разрядов находятся в два этапа:

- сначала в каждом разряде находится дополнение от имеющейся цифры до 1; иначе говоря, каждая цифра заменяется на обратную; при этом получим

.0100,

что является дополнением от исходной величины недо 1,0000, а до 0,1111;

- затем к полученному числу добавляется единица младшего разряда

, 0100 0001



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

1.4.3. Обратные коды. Обратные коды нигде, по-видимому, не используются в качестве самостоятельного способа изображения относительных чисел. Однако в тех случаях, когда в качестве основного способа используется прямой код, при выполнении сложения и вычитания часто вместо перехода к дополнительным кодам производится переход к обратным кодам (см. 3.1).

Обратные коды отличаются от дополнительных тем, что при записи отрицательных чисел основные разряды содержат вместо дополнения от абсолютной величины числа до бо дополнение от абсолютной величины числа до бц (1 - -п~ ). Все обозначения здесь такие же, как в 1.4.2:

. бо - вес добавочного двоичного разряда, п - основание системы счисления, т - количество основных (п-ичных) разрядов.

Относительно содержимого добавочного (знакового) разряда возможны, как и для дополнительных кодов, различные условия.

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

Если - по аналогии со вторым вариантом построения дополнительных кодов -г- договориться, что для положительных чисел знаковый разряд содержит цифру laquo;1 raquo;, а для отрицательных laquo;О raquo;, то это эквивалентно условию, что все основные разряды имеют естественные веса, знаковый разряд имеет вес -f бо (1 - п *), а все числа увеличены на +бо(1-п~ ) (т. е.- величина - бо (1-п-* ) является аддитивной поправкой ко всем числам). Второй вариант.



строго говоря, не является позиционным способом изображения чисел.

Вернемся к примерам 1 и 2 на стр. 64-65. Положительные числа в дополнительном и в обратном кодах (а по существу и в прямом коде) записываются одинаково. Скажем, если дополнительные коды строятся по первому варианту и обратные коды построены аналогично, то в разрядной сетке примера 1 положительное число --0,537 записывается в виде

в прямом коде......-J-.537,

в дополнительном и обратном коде.....0.537.

Курсивом выделен двоичный (знаковый) разряд. Для отрицательных чисел разница более существенна. В той же разрядной сетке отрицательное число -0,537 имеет вид

в прямом коде...-.537,

в дополнительном коде...../.463,

raquo; в обратном коде....../.462.

В обратном коде вес добавочного двоичного разряда равен здесь - бо (1 - п- )= - 1.(1-0,001) = -0,999; поэтому представленное указанным способом число действительно равно

1. (- 0.999) + 4 . 1 + 6 . 4 + 2 . = - 0,537.

Нуль в обратном коде может записываться двояко. В разрядной сетке примера 1 он либо имеет вид

0.000

(здесь О-(-0,999) +0-Vio + О-Vioo +0-Viooo = 0). либо может быть записан в виде

/.999 . - .

(здесь 1 - (-0,999) + 9 Vio + 9 Vioo + 9 Viooo = 0). Наибольшее по абсолютной величине отрицательное число в этой разрядной сетке при использовании обратного кода есть число -0,999; оно записывается в виде

/.ООО;



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