русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сложение и вычитание


Дата добавления: 2014-11-28; просмотров: 2113; Нарушение авторских прав


В ОПУ операции сложения и вычитания являются более сложными, чем операции умножения и деления.

Включают в себя этапы:

1. Подготовительный;

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

3. Определяется операнд, имеющий меньший порядок. В нем производится сдвиг мантиссы вправо на число разрядов, равное разности порядков операндов. Например, .

Выравнивания порядков можно достичь сдвигом мантиссы меньшего из чисел вправо, с одновременным увеличением порядка этого числа, либо сдвигом мантиссы большего из чисел влево и уменьшением его порядка. Оба варианта сопряжены с потерей цифр мантиссы, но выгоднее сдвигать меньшее из чисел, так как при этом теряются младшие разряды мантиссы. Таким образом, выравнивание порядков операндов реализуется путем сдвига мантиссы меньшего из чисел на один разряд вправо с одновременным увеличением порядка этого числа на единицу. Действия повторяются до совпадения порядков. Если в процессе сдвига мантисса обращается в 0, в качестве результата операции берется другой операнд.

4. приравнивание порядка результата большему из порядков операндов.

5. сложение и вычитание мантисс и определение знака результата.

6. проверка на переполнение.

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

7. заключительный этап.

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



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

Потеря значимости может произойти при:

- сложении и вычитании мантиссы;

- сдвиге мантиссы вправо для устранения переполнения;

- сдвиге мантиссы влево (до тех, пор пока старшую позицию не займет единица);

- порядок может стать отрицательным (в ходе сдвига мантиссы уменьшается порядок: получение отрицательного значения свидетельствует о получении числа, непредставимого в данном формате, так как значения смещенных порядков всегда положительны).

Алгоритм сложения нормализованных чисел представлен в виде блок-схемы на Рис.1.1.

Рисунок -Блок-схема алгоритма сложения нормализованных чисел

Например, X1=0,87654×101, а X2=0,94567×102. Согласно алгоритму Dp=1 и p1<p2. Следовательно, p=p2=2, а мантисса числа X1 должна быть сдвинута на 1 разряд вправо (при этом из-за ограниченности разрядно сетки пропадет цифра 4). Новая мантисса получается суммированием: M=0,94567+0,08765=1,03332; поскольку она выходит за допустимый интервал представления мантисс, необходимо его нормализовать M’=0,10333 (при этом теряется цифра 2 в меньшем разряде); p’=p+1=3. Окончательно получаем: X=0,10333×103. Точный результат суммирования оказался бы 103,3324. Таким образом, сложение чисел в нормализованной форме с ограниченной длиной разрядной сетки приводит к появлению погрешностей операции сложения. Более того, можно показать на примерах (рекомендуется это сделать самостоятельно), что такое суммирование не обладает ассоциативностью, т.е. (X1ÅX2)ÅX3¹X1Å(X2ÅX3).



<== предыдущая лекция | следующая лекция ==>
Арифметика чисел в формате ПЗ | Умножение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.287 сек.