Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МИУС .docx
Скачиваний:
5
Добавлен:
16.07.2022
Размер:
756.18 Кб
Скачать

1.6. Сложение чисел в машинах с фиксированной запятой

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

Представление с ФЗ широко используется в МПТ.

В этом формате в машинном коде числа запятой как символа – нет, однако, её положения известно “по умолчанию ”.

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

Прежде чем анализировать варианты сложения чисел с ФЗ, необходимо определить следующие соотношения:

Таблица двоичного сложения.

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 = 1 – единица переноса в старший разряд

Таблица двоичного вычитания.

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

0 – 1 = 1 1 – заем единицы из старшего разряда

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

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

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

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

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

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

При сложении возможны четыре случая.

1. A1>0; A2>0; S>0.

А1 = + 21D = 0.10101B

А2 = + 5D = 0.00101B

Т.к. оба операнда положительные, то все три кода совпадают.

0.10101

+ 0.00101

0.11010 S = 26D

2. A1>0; А2<0; S>0

А 1 = +21 = 0.10101 0.10101

А2 = -5 = 0.00101 прямые коды 1.11010 обратные коды

0.10101

+ 1.11010

1 0.01111

циклический перенос

0.10000 B S = +16D

0 .10101 0.10101

1.11011 дополнительные коды + 1.11011

1 0.10000B S= 16D

отбрасывается

3 . А1 <0; А2>0; S<0

А1 = -21 = 1.10101 1.01010

А2 = +5 = 0.00101 прямые коды 0.00101 обратные коды

1.01010

+ 0.00101

1.01111 – обратный код суммы

1.10000 - прямой код суммы S = -16D

1.01011

0.00101 дополнительные коды

1.01011

+ 0.00101

1.10000 – дополнительный код суммы

1.10000 – прямой код суммы S = -16D

4. А1 <0; А2 <0; S<0

А 1 = -5; А2 = -21

1.01010 1.01010

1.11010 обратные коды + 1.11010

1 1.00100

1.00101 – обратный код суммы

1.11010 – прямой код суммы S= -26

1 .01011 1.01011

1.11011 дополнительные коды + 1.11011

1 1.00110 - дополнительный код

отбрасывается суммы S = -26

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

0.10101

+ 0.10101

1.01010 - при сложении положительных операндов образовалась

отрицательная сумма

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

Для обнаружения переполнения разрядной сетки в знаковую часть числа вводится дополнительный разряд – разряд переполнения. Коды в этом случае называются модифицированными.

Возможные комбинации в знаковых разрядах модифицированных кодов:

00 – разрешенная комбинация (признак положительного числа)

01 – запрещенная комбинация (положительное переполнение, т.е. переполнение при сложении положительных чисел)

10 – запрещенная комбинация (отрицательное переполнение, т.е. переполнение при сложении отрицательных чисел)

11 – разрешенная комбинация (признак отрицательного числа).

Соседние файлы в предмете Основы микропроцессорной техники