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

2) если данная цифра непреобразованного Множителя естьО, а соседняя справа его цифра есть 1, то соответствующая цифра преобразованного множителя есть 1;

3) если данная цифра непреобразованного множителя есть 1, а соседняя справа его цифра есть О, то соответствующая цифра преобразованного множителя есть -1.

Обозначим цифры непреобразованного множителя через go, gj,..., gm i, gm, где go - цифра в разряде алгебраического знака. Как известно (см. 1.4.2), при построении дополнительного кода по первому варианту число а может быть записано в виде

g = ~ 1 -go + 2-igi + 2-Ч + . . . + 2-( laquo;-i)g j + 2- g gt; .

Если обозначить цифры преобразованного множителя через laquo;о, tti, сс,..., а.то приведенное выше правило преобразования можно свести к равенству

а,- = g/+j - ui. Отсюда видно, что число

4-1 ао+ 2-1 laquo;1 + 2-2а2 + . .. -- 2-( -i)a , i + 2- а,п на самом деле равно

-f 1 (gi - go) -г 2-1 (ga-gi) + 2-2 (g3-g2) +...+ 2-( -1) X

X {а,п - cm-i) + 2- (0 - g )

(справа от самой младшей цифры а. всегда находится О, т. е. om+i = 0). Раскрывая скобки, убедимся в том, что

4- 1 ао + 2-iai + 2-2й2 + ... + 2г а , = а.

Таким образом, в преобразованном множителе все т разрядов имеют естественные веса (-j-1, ~{-2~, +2 ,...

--2 (-j-2 ); со знаковым разрядом можно обращаться точно так же, как со всеми остальными разрядами.

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



изведений не обязательно совпадает со знаком множимого. В любой момент времени он определяется старшей из уже использованных значащих цифр преобразованного множителя: если эта цифра есть -f-l.To знак суммы частичных произведений совпадает со знаком множимого, если -1, то противоположен. Если, как и прежде, умножение выполняется по схеме рис. 4-2, а, то при сдвиге В вправо цифра, которая должна вдвигаться в разряд знака, может определяться- по указанному правилу. Более простое решение может состоять в том, чтобы иметь в регистре Вив сумматоре один дополнительный разряд, который являлся бы разрядом знака.

Хотя здесь, как и при использовании логических методов ускорения умножения, множитель преобразуется к представлению цифрами +1, О, -1, однако никакого выигрьшла в среднем или максимальном количестве суммирований-вычитаний по сравнению с обычным пропуском тактов суммирования при равенстве нулю очередной цифры множителя не получается. В частности, максимальное количество суммирований-вычитаний, равное количеству разрядов в множителе т. + I, получится в том случае, когда множитель имеет вид ....01010101.

Попробуем выполнить описанным способом один из примеров, рассмотренных ранее.

Пример. (-11/16) X (-7/16) = + 77/256, с = -11/16 = 1.0101, а = -7/16 = 1.1001, + 77/256 = = 0.01001101.

Преобразование множителя (выполняемое шаг за шагом в каждом цикле умножения) дает

а = О.ГОП.

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



зеванных значащих цифр а есть 1 (т. е. когда последним выполнялось вычитание)

1.0101 -множимое с О 1011 - преобразованный множитель а

О 0000 - начальное состояние В - 1 0101 - частичное произведение с на младшую цифру а -- (на-1)

О 1011

(0)01011 -результат первого сдвига В вправо

-Ь 1 0101 - частичное произведение с иа вторую справа цифру а

-- (на + 1)

1 10101

(l)llOlOi - результат второго сдвига В вправо

(1)1110101 -результат третьего сдвига В вправо

- 1 0101 - частичное произведение с иа четвертую справа

-- цифру а (на - I)

О 1001101

(0)01001101 - результат четвертого сдвига В вправо

Полученный результат, как видим, не требует никакой допапнитель-ной коррекции.

Читателю предлагается самостоятельно убедиться в том, что так называемый усовершенствованный метод Booth и Booth (см. сноску на стр. 371), который рассматривался нами в 4.2.2 в качестве наиболее сильного логического метода ускорения умножения, сохраняет все достоинства описанного здесь метода в части умножения в дополнительных кодах.

4.7.5. Способ умножения в дополнительных кодах, основанный на расширении разрядной сетки сомножителей.

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



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