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. При этом, к примеру, число +0,537 записывается в виде

0.537

(где курсивом выделен двоичный разряд), число -0,537 должно быть записано в виде

/.463.

(Действительно,

b(-l)+4.- + 6.4 + 3.jA == 0,537.)

Основные (десятичные) разряды отрицательного числа при этом представляют его абсолютную величину в виде дополнения до 6о = 1(.463 = 1.000-.537).

Число нуль при использовании прямого кода может быть записано либо в виде

+.000,

либо в виде

-.ооо.

При использовании дополнительного кода число нуль записывается однозначно, в виде

0.000.

Комбинация

7.000

соответствует при этом максимальному по абсолютной величине отрицательному числу:

1.000= 1.(-1) + 0.- + 0.4 + 0., = -!.

(В прямом коде максимальное по абсолютной величине отрицательное число при этом же количестве разрядов равно -.999; одна лишняя комбинация израсходована на неоднозначность в изображении нуля).

П р и м е р 2. Используется двоичная система счисления; в- качестве основных разрядов выбраны 1-й, 2-й, 3-й и 4-й разряды дробной части. В прямом коде число, ска-, жем, + 1хь записывается в виде



число - ii/i6 в виде

16 16

При этом в основных разрядах находится величина . 0101 = = 16, являющая - дополнением от абсолютной величины отрицательного числа до единицы (бр == 1):

%б = 1 - /i6.

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

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

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

В дополнительном коде число + /le имеет вид

0.1011.

а число - /i6

1.0101.

Здесь вес добавочного (первого слева от запятой) разряда равен -1, поэтому записанное указанным образом число равно на самом деле

ь(-1) + о.-- + 1 - + о--+1



примерно 2бо. При этом истинные значения чисел будут находиться в интервале от -бо до примерно +бо.

Ясно, что если в изображении числа имеется единица в добавочном разряде (с всом бд), то, вычитая поправку 6, мы получим неотрицательное число; его абсолютная величина записана в основных разрядах точно так же, как при использовании прямых кодов. Если в изображении числа в добавочном разряде имеется нуль, то величина, записанная в разрядной сетке, меньше бо; вычитая поправку б, мы получим отрицательное число, абсолютная величина которого представлена основными разрядами разрядной сетки в виде дополнения до бр.

Возвращаясь к примеру 1 на стр. 64, мы видим, что-при построении дополнительного кода по второму вариан- ту число + 0,537 должно быть записано в виде

7.537.

Здесь вес добавочного двоичного разряда б равен единице. Поэтому постоянная аддитивная поправка ко всем числам есть - 1. Истинное значение числа, представленного в виде /,537, равно 1,537-1 =-1-0,537. Число-0,537 должно записываться в виде 0.463.

В такой записи истинное значение числа равно 0,463 - -1 = - 0,537.

Число нуль изображается в виде

/.ООО

(так как 1,000 - 1 = 0,000).

Максимальное по абсолютной величине отрицательное число записывается в виде

0.000.

Его истинное значение равно 0,000 - 1 = -1.

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

Точно так же в примере 2 (стр. 65) при построении дополнительного кода по второму варианту число + /i6



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