Переполнение разрядной сетки

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

В ЭВМ такая ситуация отслеживается блоком прерывания и в случае переполнения программа снимается с обработки.

Признаки переполнения(способы определения переполнения):

1) По наличию и отсутствию переноса в знаковый и из знакового разряда:

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

разряда и отсутствует единица переноса в знаковый разряд.

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

Пример:

А=5, В=4

0.101 +5 прямой код 0.100 +4 прямой код

1.010 -5 обратный код 1.011 -4 обратный код

А+В

Переполнение разрядной сетки - student2.ru 1

+
+
0.101 +5 прямой код

0.100 +4 прямой код

Переполнение разрядной сетки - student2.ru 1.001 переполнение!

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

-А-В

Переполнение разрядной сетки - student2.ru 1

+
1.010 -5 обратный код

1.011 -4 обратный код

Переполнение разрядной сетки - student2.ru 0.101 переполнение!

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

2) Модифицированное кодирование:

При модифицированном кодировании под знак числа отводится два или более разрядов.

Комбинация 00 соответствует положительному числу.11 – отрицательное число.

Переполнение разрядной сетки - student2.ru

Пример:

А+В

+
00.101 +5 прямой модифицированный код

Переполнение разрядной сетки - student2.ru 00.100 +4 прямой модифицированный код

01.001 переполнение!

Комбинация 01 в знаковом разряде соответствует переполнению разрядной сетки.

(-А)+(-В)

+
11.010 -5 обратный модифицированный код

11.011 -4 обратный модифицированный код

10.101 переполнение!

Комбинация 10 в знаковом разряде соответствует переполнению разрядной сетки.

Пример для дополнительного модифицированного кода:

А-В

+
00.101 +5 прямой модифицированный код

Переполнение разрядной сетки - student2.ru 11.100 -4 дополнительный модифицированный код

00.001 +1 прямой код

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

В-А

+
00.100 +4 прямой модифицированный код

Переполнение разрядной сетки - student2.ru 11.011 -5 дополнительный модифицированный код

11.111

В знаковых разрядах результата комбинация 11.Из этого следует, что переполнение разрядной сетки отсутствует и результат отрицательный ,представлен в дополнительном коде.

+
111.000

Переполнение разрядной сетки - student2.ru 1

11.001 -1 прямой код

(-А)+(-В)

+
11.011 -5 дополнительный модифицированный код

11.100 - 4 дополнительный модифицированный код

10.111 переполнение!

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

Формы представления чисел в ЭВМ.

Любая информация(числа, команды и т.д.) представляются в ЭВМ в виде двоичных кодов фиксированной или переменной длины. Отдельные элементы двоичного кода, имеющие значение 0 или 1, называют разрядами или битами. В ЭВМ слова часто разбивают на части, называемые слогами или байтами. В современных ЭВМ широко используется байт, содержащий 8 бит(разрядов).

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

В ЭВМ применяют две формы представления чисел:

-с фиксированной точкой

-с плавающей точкой.

Наши рекомендации