Прямой, обратный и дополнительный коды — КиберПедия 

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Прямой, обратный и дополнительный коды

2022-10-05 26
Прямой, обратный и дополнительный коды 0.00 из 5.00 0 оценок
Заказать работу

В ЭВМ в целях упрощения арифметических операций над числами со знаком применяют специальные коды для представления чисел.

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

Определение 1.3

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

Например, число 5 в четырехразрядной двоичной сетке в прямом коде представляется в виде , а число (-5) - в виде . Здесь диапазон представимых чисел меняется от -7 до 7 при . Ноль может изображаться в прямом коде двумя способами:  - «положительный» ноль и  - «отрицательный» ноль.

Сложение в прямом коде чисел, имеющих одинаковые знаки, выполняется достаточно просто: числа складываются, и сумме присваивается код знака слагаемых. При сложении чисел с различными знаками требуется определить большее по модулю число, произвести вычитание чисел и присвоить разности знак большего по модулю числа.

Избежать столь сложных дополнительных операций можно, представив числа в обратном или дополнительном кодах.

Определение 1.4

Обратный код числа , представимого в  - разрядной двоичной сетке, определяется как , где  - величина наибольшего числа без знака, размещающегося в  - разрядной двоичной сетке. Для дробей , а для целых чисел .

Старший разряд так же, как и в прямом коде, является знаковым, и диапазон чисел, представимых обратным кодом, в этом случае равен . Например, число 5 в четырехразрядной двоичной сетке в обратном коде представляется в виде , а число (-5) - в виде . Здесь диапазон представимых чисел меняется от -7 до 7 при . По определению обратный код отрицательного числа представляет собой дополнение модуля исходного числа до наибольшего числа без знака, помещающегося в разрядную сетку. Поэтому получение обратного кода сводится к получению побитной инверсии кода модуля этого числа (см. пример). Ноль в обратном коде может изображаться так же, как и в прямом коде, двумя способами:  - «положительный» ноль и  - «отрицательный» ноль.

Правила алгебраического сложения двух двоичных чисел, представленных обратным кодом, таковы:

· производится арифметическое суммирование кодов чисел, включая знаковые разряды;

· при возникновении переноса из разряда знака единица переноса добавляется к младшему разряду суммы кодов;

· при этом, если после переноса единицы в знаковый разряд не последовало переноса единицы из знакового разряда, или наоборот, перед переносом единицы из знакового разряда не было переноса в знаковый разряд, то произошло переполнение.

Примеры алгебраического сложения в четырехразрядной двоичной сетке:

Определение 1.5

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

Дополнительный код вычисляется через обратный по следующим формулам:  - для дробей,  - для целых чисел.

Дополнительный код «отрицательных» нулей не имеет.

Правила алгебраического сложения чисел таковы же, как и в обратном коде, за исключением того, что не требуется переноса единицы из знакового разряда в младший разряд суммы. Эта единица просто игнорируется.

Кроме рассмотренных кодов, для представления чисел со знаком применяется еще смещенный код. Этот код используют для представления порядка числа с плавающей точкой .


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.