Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 5. Арифметические операцииВ математическом описании большинства вычислительных алгорифмов допускается некоторая неоднозначность, связанная с коммутативностью, ассоциативностью, дистрибутивностью арифметических операций. При реализации на ЭВМ различных форм записи алгорифмов возникают неодинаковые эффекты. Это связано с тем, что арифметические операции на ЭВМ обладают иными свойствами, чем точные операции. На разных ЭВМ одни и те же арифметические операции могут отличаться в деталях своего выполнения весьма значительно. Однако эти различия для нас не представляют особого интереса, так как математическое значение имеет лишь результат операции. Чтобы не заниматься деталями, связанными с конкретными ЭВМ, мы будем считать в дальнейшем, что: Результат выполнения любой арифметической операции на ЭВМ совпадает с правильно округленным результатом точного выполнения той же операции; операция с нулевым результатом выполняется точно. Одной из простейших операций является сложение (вычитание) чисел с фиксированной запятой. Предположим, что складываются (вычитаются) числа в р-ичной системе счисления и единица последнего представленного разряда равна представлен в ЭВМ точно. Отсюда вытекает, что операция сложения (вычитания) чисел с фиксированной запятой может быть осуществлена без ошибок округления. В дальнейшем будем считать, что
для всех чисел х, у, представленных в ЭВМ, если при этом сама операция выполнима. Все остальные наиболее распространенные арифметические операции над числами с фиксированной запятой не обладают таким свойством. Это связано с тем, что при реализации других операций появляюгся числа, имеющие более
где
Предполагается, конечно, что сами операции выполнимы. Выполнение арифметических операций над числами с плавающей запятой приводит к появлению ошибок округления уже почти во всех случаях. Предположим, что числа заданы в р-ичной системе счисления и для представления мантисс отводится
где согласно (4.6)
Формулы (5.5) нельзя существенно улучшить на множестве всех чисел, представленных в ЭВМ. Однако для некоторых практически важных случаев можно гарантировать, что или вычитаются числа разных знаков, если один из сомножителей в произведении по модулю не меньше единицы или знаменатель дроби по модулю не больше единицы. Несмотря на то, что в случае операции сложения (вычитания) ошибка округления появляется, она все же имеет некоторую особенность, на которую стоит обратить внимание. Пусть
где
Мантиссы
имеет не более В частности, при сложении чисел одного порядка с разными знаками (вычитании чисел одного порядка с одинаковыми знаками) мантисса результата имеет не более Операция сложения (вычитания) чисел с плавающей запятой имеет ошибку округления, содержащую конечное число ненулевых разрядов. Число этих разрядов определяется величиной чисел, участвующих в операции, и не зависит от числа разрядов, отведенных для представления мантиссы. В этом отношении операция сложения (вычитания) отличается от всех других операций. Так, например, в операциях деления, извлечения корня и т. п. ошибка округления содержит, как правило, бесконечное число разрядов. В операции умножения ошибка округления хотя и содержит конечное число разрядов, но все же их имеется порядка Отмеченная особенность ошибки округления операции сложения (вычитания) чисел с плавающей запятой оказывает очень большое влияние на общее распределение ошибок округления в вычислительных процессах. При реализации некоторых алгорифмов возникает необходимость выполнять отдельные промежуточные вычисления с существенно большей точностью, чем допускается принятой системой представления чисел. На большинстве современных ЭВМ такие вычисления организуются следующим образом. Во-первых, имеется техническая возможность получать результат выполнения основных арифметических операций над Несмотря на исключительную важность операций с удвоенным числом разрядов, возможность их реализации имеется не на всех ЭВМ. Это следует считать серьезной конструкторской недоработкой. Система команд и арифметические устройства ЭВМ должны быть такими, чтобы операции с удвоенным числом разрядов могли выполняться с наибольшей эффективностью. В задачах линейной алгебры особое значение имеет максимально точное и быстрое вычисление выражений вида
где все написанные числа являются точностью, выражения вида (5.6) в режиме накопления вычисляются почти за то же время, что и в режиме одинарной точности. Будем считать в дальнейшем, что
при этом
как и в других аналогичных случаях. Символы В заключение обратим внимание на следующее обстоятельство. Какими бы малыми ни были ошибки округления, возникающие при выполнении арифметических операций, их появление существенно меняет математические свойства самих операций. Точные операции умножения и сложения являются коммутативными, ассоциативными и связаны между собой законом дистрибутивности. Операции умножения и сложения на ЭВМ уже не являются таковыми. Коммутативность операций на ЭВМ гарантируется лишь тогда, когда ошибка округления однозначно определяется результатом точного выполнения операций. В частности, коммутативной будет операция сложения чисел с фиксированной запятой, так как ошибка округления здесь вообще отсутствует. По этой же причине данная операция будет и ассоциативной. Любые операции, коммутативные при точном выполнении, можно сделать коммутативными и на ЭВМ, если имэет место правильное округление. Как уже отмечалось, такое округление реализовано далеко не на всех современных ЭВМ. Что же касается законов ассоциативности и дистрибутивности, то они не выполняются ни на одной из существующих ЭВМ. Соответствующие соотношения имеют место только для некоторых наборов чисел. УПРАЖНЕНИЯ(см. скан)
|
1 |
Оглавление
|