Переноса переполнения
Рисунок 5.3 – Условия установки индикаторов переноса и переполнения
Например, правильность операции сложения в ЭВМ определяется из следующих условий:
1) Если машинные слова интерпретируются как числа без знака, то результат сложения двух слов будет арифметически правильным тогда и только тогда, когда не будет переноса из знакового бита:
Пример 1. Произошло сложение двух чисел
0101+0011=1000.
Перенос в знаковый бит
В результате выполнения операции сложения двух чисел произошел перенос в знаковый бит, а из знакового бита переноса не было поэтому для целых чисел без знака результат операции сложения правильный.
2) Если машинные слова интерпретируются как числа со знаком, то результат сложения:
а) двух положительных чисел будет арифметически правильным тогда и только тогда, когда не будет переноса в знаковый бит:
Пример 1. В результате выполнения операции произошел перенос в знаковый бит, т.е. индикатор переполнения установился в 1. Таким образом, операция в примере 1 для чисел со знаком неправильная;
б) двух отрицательных чисел или одного отрицательного и одного положительного будет арифметически правильным тогда и только тогда, когда происходит перенос в знаковый бит и из знакового бита, т.е. изменяется состояние двух индикаторов: переноса и переполнения.
Пример 2. Произошло сложение двух чисел:
11 0 1
+ 01 0 1
10 0 1 0
перенос из знакового бита перенос в знаковый бит
В результате операции происходит перенос в знаковый бит и из знакового бита, т.е. индикатор переноса устанавливается в 1, а индикатор переполнения сбрасывается в 0. Следовательно, операция сложения в системе чисел со знаком правильная.
Операцию вычитания можно свести к операции сложения в силу того, что
А-В=А+(-В)
При этом состояние индикаторов также обеспечивает контроль правильности выполнения операций.
Дата добавления: 2021-03-18; просмотров: 335;