Лекция: Приведите правило и пример определения ситуации переполнения при выполнении сложения и вычитания целых чисел в ЭВМ. (ОргЭВМ)

Правила определения переполнения:

· Определяется наличие переносов из 2 старших рарзядов числа. Если переносов нет, то результат операции правильный.

· Если есть перенос из обоих разрядов, то результат правильный

· Если из одного разряда есть перенос а из второго – нет, то результат неверный и соответствует ситуации переполнения.

nn = (not x)*(noty3)*z3 V (not z3)*x3*y3

Для устранения этого недостатка в ЭВМ часто используют модифицированные коды: для изображения знака числа используются 2 двоичных разряда, при этом знак "+" изображается комбинацией 00, а знак "-" -комбинацией 11. Тогда ситуация переполнения определяется при разных значениях битовых разрядов знака, а именно, если в знаковых разрядах получаются комбинации 01 или 10 — значит, произошло переполнение.

Например, сложим –120 и –34 и –13 и +98:

11.0001000 11.1110011

+11.1011101+00.1100010

1 10.1100110 (переполнение) 1 00.1010101 (нет переполнения)

Умножение многоразрядных двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения получаются после сдвигов умножителя. Единственной особенностью является то, что если сомножитель является отрицательным (знаковые разряды равны 11), то перед началом умножения следует приписать к нему слева столько единиц, сколько значащих разрядов у другого сомножителя справа от запятой. Результат произведения всегда получается в дополнительном коде.

Операция деления представляется последовательностью операций вычитания и сдвига делителя.

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

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

При делении мантисса делимого делится на мантиссу делителя, а порядок результата получается как разница порядка делимого и делителя. При этом, если мантисса делимого больше мантиссы делителя, то частное окажется больше 1 (происходит переполнение). В этом случае частное сдвигается на 1 разряд вправо, а порядок результата увеличивается на 1.

 

еще рефераты
Еще работы по информатике