Лекция: Приведите правило и пример определения ситуации переполнения при выполнении сложения и вычитания целых чисел в ЭВМ (Орг.ЭВМ)
Правила выполнения арифметических операций для позиционных систем счисления задаются таблицами сложения, вычитания одноразрядных чисел.
Таблицы для двоичной арифметики будут следующими:
Сложение
0+0=0, 0+1=1, 1+0=1, 1+1=0+единица переноса, 1+1+единица переноса=1+единица переноса;
Вычитание
0-0=0, 1-0=1, 0-1=1+единица заема;
Сложение многоразрядных целых двоичных чисел производится по описанным правилам и с учетом переноса единицы из предыдущего разряда. Если из старшего разряда представления многоразрядного целого числа получается единица переноса, такая ситуация называется переполнением разрядной сетки. Большинство программ обработки информации на языках высокого уровня в такой ситуации выдают сообщение и прекращают обработку. В программах на Ассемблере программист должен сам в своей программе выявлять такие ситуации переполнения и предусматривать соответствующую обработку. При этом программист должен руководствоваться следующими правилами:
Определяется наличие переносов из двух старших разрядов числа
— если переносов нет, то результат операции правильный;
— если есть переносы из обеих разрядов, то результат операции тоже правильный;
— если из одного разряда есть перенос, а из другого нет, то результат операции неверный, фиксируется ситуация переполнения.