Смещенный код.

Помимо рассмотренных кодов для представления чисел со знаком применяется еще смещенный код. Этот код обычно используется для представления целых чисел, задающих порядки чисел с плавающей точкой. Определяется смещенный код двоичного числа G, представленного в n - разрядной сетке, как Gсм=А+G, либо, что то же самое,

 

А+|G| , при G>=0;

Gсм= A - |G| , при G<0,

 

где А (смещение) – величина, равная весу старшего разряда сетки (для целых А=2n-1). Диапазон представляемых чисел такой же, как и у дополнительного кода. Единица в знаковом разряде смещенного кода указывает на представление положительного числа, ноль – отрицательного.

Цифровые разряды смещенного кода для положительного числа представляют модуль этого числа, для отрицательного – инверсию модуля, к которой подсуммирована 1 к младшему разряду.

Существует простое правило перехода к смещенному коду от дополнительного (и наоборот): для перехода необходимо инвертировать знаковый разряд кода.

Важной особенностью смещенного кода является то, что из G1см>G2см следует G1>G2. Использование смещенных кодов упрощает сравнение чисел со знаком, сводя его к сравнению представляющих их чисел без знака (смещенных кодов).

Сложение смещенных кодов может выполняться в соответствии со следующим ниже утверждением.

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

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