Переполнение разрядной сетки машины
При сложении чисел одинакового знака может возникнуть переполнение разрядной сетки. Признаком переполнения является отличие знака результата от знаков слагаемых. Пусть, например, требуется сложить два числа:
Складывали два отрицательных числа , а ответ – положительный. Чтобы не было переполнения необходимо расширить разрядную сетку. Запишем числа A и B в пяти битах
.
Теперь ответ верный. В вычислителях для контроля переполнения следят за переносом в знаковый разряд и из него. Если оба переноса имеют место или оба отсутствуют, то переполнения нет. Если есть хотя бы один из переносов, то имеет место переполнение разрядной сетки.
В некоторых машинах для контроля переполнения используют, так называемые, модифицированные коды: прямой, обратный, дополнительный. В этих кодах под знак числа отводится по два бита. После сложения эти знаковые биты складывают между собой по модулю два. Если результат сложения равен 0, то нет переполнения, если результат сложения равен 1, то переполнение есть. Проверим это правило на примере обратного модифицированного кода. Сложим два числа:
Таким образом, модифицированные коды удобны для использования, хотя и занимают на один бит больше памяти.
Дата добавления: 2016-01-18; просмотров: 908;