Дополнительный код. Наиболее распространенный способ представления отрицательных целых чисел в компьютерных системах. - Компьютерная арифметика

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

Дополнительный код является дополнением числа до некоторого граничного числа (|XMax+1|=2S).

Дополнительный код положительного числа совпадает с прямым кодом.

Для получения дополнительного кода отрицательного числа существует три способа:

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

Дополнительный код числа определяется соотношением:

. (3.10)

. (3.11)

Где - , C = XГр. равняется весу не существующего в данном числе разряда, расположенного слева от знаковой цифры.

Отображение s-битных наборов ( дополнительный код верхняя числовая прямая) на числовую ось ( числа нижняя числовая прямая ) для компьютерной системы показано на рис. 3.5.

отображение s-битных наборов (дополнительный код ) на числовую ось

Рисунок 3.5 - Отображение s-битных наборов (дополнительный код ) на числовую ось

Например:

Десятичное

Число

Двоичное

Число

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

Код

Комментарии

(0(10))

0000(2)

0,000

Положительный (0)

(4(10))

0100(2)

0,100

Положительная (4)

(- 4(10))

1100(2)

1,100

Отрицательная (4)

(3(10))

0011(2)

0,011

Положительная (3)

(- 3(10))

1101(2)

1,101

Отрицательная (3)

Диапазон представимых чисел: -(2S-1)...(2S-1).

Свойства дополнительного кода:

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

Свойства кодов:

    1. Операции должны выполняться над данными, представленными в одном и том же коде: ПК-ПК, ОК-ОК, ДК-ДК; 2. Положительные числа в ПК, ОК, ДК не меняют своего представления; 3. Результат выполнения операций сложения и вычитания над числами, представленными в ПК, ОК или ДК, являются ПК, ОК или ДК соответственно; 4. Двоичный набор, представляющий (-0) в ПК и ДК, является запрещенной комбинацией; 5. В отличие от ПК, в ОК и ДК нельзя отбрасывать нули после знакового разряда в целой части и нули в конце дробной части отрицательного числа (разрешается отбрасывать 1).

Похожие статьи




Дополнительный код. Наиболее распространенный способ представления отрицательных целых чисел в компьютерных системах. - Компьютерная арифметика

Предыдущая | Следующая