Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТСИС.doc
Скачиваний:
170
Добавлен:
11.05.2015
Размер:
1.18 Mб
Скачать

5. Сложение в формате с фиксированной точкой. Переполнение.

6. Операция вычитания с фиксированной точкой. Дополнительный код числа.

В прямом коде

Сложение выполняется по правилам сложения чисел в позиционных системах счисления.

То есть эта операция выполняется поразрядно, а возникающий в младших разрядах перенос направляется в старшие разряды.

В обратном коде.

Обратные коды чисел складываются поразрядно, по правилам сложения чисел в двоичной с.с. Знаки переноса из знакового разряда прибавляются к младшему разряду суммы. Результат получают в обратном коде.

В дополнительном коде

Дополнительные коды чисел складываются поразрядно, начиная с младших разрядов по правилам двоичной арифметики, знаковые разряды складываются по тем же правилам.

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

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

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

  • знаки слагаемых не совпадают со знаком суммы

  • есть перенос только в знаковый или только знакового разряда

7. Умножение и деление чисел в формате с фиксированной точкой.

Умножение чисел с фиксированной запятой

1. Определяется знак произведения путем сложения по mod 2 знаков сомножителей

2. Определяются разряды произведения путем перемножения модулей сомножителей в прямом коде по правилам двоичной арифметики.

3. Оставляются цифры произведения по числу отведенных для их записи разрядов.

4. Результат округляется

Деление чисел с фиксированной запятой

1. Определяется знак частного путем сложения по mod 2 знаков делимого и делителя.

2. Определяется возможность деления, для этого из модуля делимого вычитается модуль делителя в модифицированном дополнительном или обратном коде. Если разность положительная, то делить нельзя, если отрицательная, то можно.

3. Восстанавливается модуль делимого путем прибавления к отрицательному остатку модуля делителя.

4. Модуль делителя сдвигается на один разряд вправо по отношению к восстановленному модулю делимого и вычитается из него в модифицированном дополнительном коде. Если разность >= 0 в старший разряд частного записывается единица.

5. Модуль делителя сдвигается на еще разряд вправо и вычитается из положительного остатка в модифицированном дополнительном коде и т.д.

6. Если на определенном этапе вычитания разность окажется отрицательной то в соответствующий разряд частного записывается ноль, модуль делителя сдвигается еще на один разряд вправо по отношению к отрицательному остатку и складывается с ним в модифицированном дополнительном коде. Если разность >=0 то в соответствующий разряд единица, если разность < 0 то в соответствующий разряд пишем ноль. Деление осуществляется до тех пор, пока разность м/у делимым и делителем не станет равна нулю либо не будет исчерпана вся длина разрядной сетки для размещения модуля частного

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]