Материал: Методические указания к практическим занятиям по дисциплине «Модели безопасности компьютерных систем» для студентов специальности 090301 «Компьютерная безопасность». Гончаров И.В., Остапенко А.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

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

Алгебраическое суммирование с двумя переносами.

-3-1=-4

 

 

101(2)

 

 

 

111(2)

ПК 101(2)

 

 

 

-3(10)

ДК

+

 

 

 

 

 

101(2)

ПК 111(2)

 

 

111(2)

 

 

-1(10)

ДК

1 100(2)

ДК=-4(10)

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перенос

 

Имеются переносы в знаковый разряд и из знакового разряда вычисляемой суммы, поэтому переполнения нет.

Результат - отрицательное число в ДК, равное - 4.

Алгебраическое суммирование с одним переносом. (Положительное переполнение).

2+2=4

 

010(2)

 

 

 

010(2)

 

 

 

2(10)

ПК

+

 

 

 

 

 

010(2)

 

 

010(2)

 

 

2(10)

ПК

0 100(2)

ДК = ?(10)

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перенос

 

14

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

Число 4 нельзя представить в прямом коде. Формальный результат равен -4.

Алгебраическое суммирование с одним переносом. (Отрицательное переполнение).

-3-2=-5

 

 

101(2)

 

 

111(2)

ПК 101(2)

 

 

-3(10)

ДК

+

 

 

010(2)

ПК 110(2)

 

110(2)

 

-2(10)

ДК

 

 

 

1 011(2)

ДК=?(10)

 

 

 

 

0перенос

Число -5 нельзя представить 3-битовой комбинацией. Формальный результат равен +3.

Деление в дополнительном коде осуществляется по тем же правилам, что и деление двоичных чисел. Но обычный метод деления “столбиком” для ЭВМ не пригоден. Для ЭВМ используются более громоздкие методы деления, которые здесь не рассматриваются. Перевод чисел из дополнительного кода в десятичную систему можно проводить по схеме, приведенной на рис. 3.

 

 

 

 

Десятичная система

ДК

 

ПК

 

 

 

счисления

 

 

 

 

 

 

 

Рис. 3. Схема перевода из ДК в десятичную систему

Однако существует прямой способ перевода числа из ДК в десятичную систему без использования промежуточного перевода в ПК.

15

Рассмотрим машинное слово произвольной длины (рис. 4). При прямом способе перевода десятичное число со знаком формируется как сумма разрядов со своими весами и знаками (старший N-й разряд имеет отрицательный вес).

Номер разряда

N-1 N-2 N-3

. . .

1

0

 

 

 

 

 

 

 

 

Знак

 

 

 

 

 

Вес разряда

-2N-1 2N-2 2N-3

 

21

20

Рис. 4. Машинное слово длиной N

 

 

Проиллюстрируем перевод чисел из ДК в десятичную систему счисления примерами.

Пример:

Перевести число 1110 из ДК в десятичную систему.

1 1 1 0(2) (ДК) = -8+4+2 = -2(10)

Вес -23 22 21 20

Можно проверить правильность перевода, используя промежуточный перевод числа в ПК:

1 110 число в ДК инверсия

1001

+1

1010 число в ПК, т.е. 1010(2) = -(0+21+0) = -2(10)

16

Задание и контрольные вопросы

Используя десятичное число из таблицы ниже решить следующие задачи над числом:

перейти от числа к прямому коду и далее, к дополнительному;

выполнить операцию сложения над двумя числами, представленными дополнительным кодом;

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

выполнить операцию деления над двумя числами, представленными дополнительным кодом.

 

 

 

 

Таблица 2

 

Задания для вариантов

 

 

Варианты

1-5

6-10

11-15

16-20

 

Число 1

44

36

91

45

 

Число 2

35

77

21

63

 

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

Контрольные вопросы

1.Понятие и особенности построения двоичного ко-

да.

2.Цели и задачи применения дополнительного кода.

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

4.Алгоритм сложения чисел, представленных дополнительным кодом.

5.Алгоритм вычитания чисел, представленных дополнительным кодом.

6.Понятия переполнения разрядной решетки.

17

7.Алгебраическое суммирование с двумя переноса-

ми.

8. Алгебраическое суммирование с одним перено-

сом.

9.Алгоритм деления чисел, представленных дополнительным кодом.

10.Прямой способ перевода числа из ДК в десятичную систему без использования промежуточного перевода в ПК.

18

Источник: https://studfile.net/preview/16565081/