418
правок
Изменения
Нет описания правки
Недостатки:
Из-за этого прямой код используется в основном только для записи неотрицательных чисел.
== Код со сдвигом ==
При использовании '''кода со сдвигом''' (''excess-''<tex> K </tex>, где <tex> K = 2^{n-1} </tex>; также говорят ''biased representation'') мы сдвигаем целочисленный отрезок от нуля до <tex> 2^{n} </tex> (<tex> n </tex> — количество бит) влево на <tex> 2^{n-1} </tex>, а затем последовательно кодируем получившееся на этом отрезке числа в порядке возрастания кодами от 000...0 до 111...1.
По сути, при таком кодировании:
*к кодируемому числу прибавляем <tex> 2^{n-1} </tex>;
*переводим получившееся число в двоичную систему исчисления.
Достоинства метода:
Недостатки:
Также дополнительный код отрицательного числа <tex> А </tex>, хранящегося в <tex> n </tex> битах, равен <tex> 2^n - |A|</tex>. По сути, дополнительный код представляет собой дополнение <tex> |A| </tex> до <tex> 0 </tex>: так как в <tex> n </tex>-разрядной арифметике <tex> 2^{n} = 0 </tex> (двоичная запись этого числа состоит из единицы и <tex> n </tex> нулей, а в <tex> n </tex>-разрядную ячейку помещаются только <tex> n </tex> младших разрядов, то есть <tex> n </tex> нулей), то верно равенство <tex> 2^n - |A| + |A| = 0 </tex>.
==Список литературы==
*[http://en.wikipedia.org/wiki/Signed_number_representations Wikipedia: Signed number representations]
*Эндрю Таненбаум «Архитектура компьютера», 5-е изд., стр. 739—741
[[Категория: Дискретная математика и алгоритмы]]
[[Категория: Представление информации]]