Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вопросы на экзамен - Ответы на экзамен - .doc + .pdf / 12. Прямой, обратный, дополнительный коды, их модификация. Прикладное значение

..pdf
Скачиваний:
71
Добавлен:
10.05.2014
Размер:
121.85 Кб
Скачать

12. Прямой, обратный, дополнительный коды, их модификация. Прикладное значение.

Прямой код

Прямой код – это представление числа в двоичной системе счисления, при котором первый (старший) разряд отводится под знак числа. Если число положительное, то в левый разряд записывается 0; если число отрицательное, то в левый разряд записывается 1.

Количество значений, которые можно поместить в семиразрядной ячейке со знаком в дополнительном разряде равно 256. Это совпадает с количеством значений, которые можно поместить в восьмиразрядную ячейку без указания знака. Однако диапазон значений уже другой, ему принадлежат значения от -128 до 127 включительно (при переводе в десятичную систему счисления).

При этом в вычислительной технике прямой код используется почти исключительно для представления положительных чисел.

Дополнительный код

В дополнительном коде, также как и прямом, первый разряд отводится для представления знака числа. Прямой код используется для представления положительных чисел, а дополнительный – для представления отрицательных. Поэтому, если в первом разряде находится 1, то мы имеем дело с дополнительным кодом и с отрицательным числом.

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

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

Обратный код

Для положительного числа совпадает с прямым кодом. Для представления отрицательного двоичного числа берется положительная форма числа (0 в знаковом разряде) и инвертируется (т.е. все единицы числа становятся нулями и наоборот) при этом в старшем (знаковом) разряде появляется 1.

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

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

Модификация кодов

Модификация кодов состоит в том, что к знаковому разряду добавляется ещё один разряд: "+" ставится в соответствие 00 "–" ставится в соответствие 11 Несовпадение знаковых разрядов после выполнения операции указывает на факт наличия переполнения. При

этом различают два типа переполнения: "01" – положительное "10" - отрицательное. Смысл Модификация кодов в том, что легче фиксировать переполнение.

Соседние файлы в папке Вопросы на экзамен - Ответы на экзамен - .doc + .pdf