При использовании дополнительного кода единица переноса из знакового разряда игнорируется

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: