Машинная арифметика - Большая Энциклопедия Нефти и Газа, статья, страница 3
Дополнение: Магнум 44-го калибра бьет четыре туза. Законы Мерфи (еще...)

Машинная арифметика

Cтраница 3


Это требует, чтобы при разработке алгоритма всюду, где производится сравнение вещественных значений, использовался некоторый задаваемый программистом уровень точности. Игнорирование специфики машинной арифметики является распространенной студенческой ошибкой при разработке алгоритма. Например, проверку того, лежат ли три точки на одной прямой, студент программирует обычно следующим образом: в уравнение прямой, проходящей через две точки, он подставляет координаты третьей точки. Все точки лежат на одной прямой тогда и только тогда, когда в результате получается нуль. Однако из-за неточности машинной арифметики при выполнении такой проверки на ЭВМ нуль почти наверняка никогда не будет получен, даже если теоретически названное свойство выполнено.  [31]

ЭВМ не может содержать бесконечно много базисных элементов. Поэтому она всегда имеет возможность оперировать лишь с конечным числом конечных р-ичных дробей. Это важный вывод, из которого вытекают все основные особенности машинной арифметики.  [32]

Быстродействие типичных современных ПК находится в диапазоне от нескольких сот тысяч до нескольких миллионов операций / с. Отметим, что в подсчет быстродействия ПК не включают операции вещественной машинной арифметики. Причина в том, что значительная доля современных пользователей не испытывает острой необходимости в таком дорогостоящем ресурсе, как быстрая вещественная арифметика и основные функции вычислительной математики. Поэтому аппаратная реализация основ вычислительной математики не входит в основной комплект поставки, а характеристики этих устройств - в число основных характеристик персонального компьютера. Соответствующие устройства ( микросхемы или платы) поставляются обычно по дополнительному заказу.  [33]

Описанные выше типы анных - - основные типы практически утвердившиеся именно в таком виде в качестве фактических стандартов для аппаратного и программного обеспечения многих современных ЭВМ и практически всех персональных компьютеров, а сть основа ния считать все эти фактические стандарты вполне удачными. Ниже предлагаются доводы в пользу указанных форматов, кажущиеся автору настоящих строк весьма убеждающими. Оказывается, опираясь на особенности этих форматов, возможно построить своеобразную и очень полезную машинную арифметику, значительно облегчающую проведение различных оценочных действий.  [34]

Арифметические выражения составляют значительную часть вычислительной программы. На вычисление арифметических выражений тратится существенная доля процессорного времени, поэтому при программировании на Фортране правильный учет специфики машинной арифметики приобретает особое значение. Важную роль играет оптимизация вычислений. Оптимизация и управление точностью вычислений также являются темами данной главы.  [35]

Вычислительные машины не воспринимают запись непосредственно на универсальном языке. Прежде чем начать решение задачи, необходимо осуществить перевод ее записи с алгорифмического языка на язык системы команд конкретной ЭВМ. Следовательно, несмотря на машинную независимость исходного описания задачи, на ее решение в конечном счете влияют все особенности машинной арифметики конкретной ЭВМ, в частности, особенности представления чисел.  [36]

Хотя эта аксиома чрезвычайно важна, иногда, например, при тестировании математического программного обеспечения, приходится допускать исключения. Математическое программное обеспечение обладает тем свойством, что выходные данные являются только приближением правильного результата. Это происходит из-за использования конечных вычислительных процессов вместо бесконечных математических процессов, из-за ошибок округления, связанных с конечной точностью машинной арифметики и неточного представления чисел в двоичной машине, а также ошибок из-за конечной точности представления входных данных и констант. Поэтому во многих случаях оказывается важной не абсолютная точность, а корреляция ошибок. Например, когда математическая программа возвращает массив чисел, может оказаться важным, чтобы вычисленное решение было точным решением для набора входных данных, аппроксимирующего реальные входные данные. Поэтому при тестировании математического программного обеспечения прогнозирование точных выходных данных затруднительно. Детальное обсуждение этих проблем выходит за рамки данной книги.  [37]

Если же будет задано число с большим количеством цифр, то лишние цифры справа будут отброшены. Так как представление вещественных чисел в ЭВМ имеет ограниченную точность, то выполнение арифметических операций над этими приближенными величинами может дать накапливающуюся - погрешность. Поэтому для вещественных чисел X и Y соотношение ( X / Y) fcY X может не всегда выполняться в машинной арифметике.  [38]

Математическая запись задачи может оказаться непереводимой непосредственно на язык ЭВМ, поскольку машина выполняет только арифметические действия. Все уравнения должны быть выражены через арифметические операции. При этом следует иметь в виду различие свойств точных арифметических операций и свойств операций, выполняемых на ЭВМ. Машинная арифметика имеет свои характерные особенности. Ошибки округления неизбежны на ЭВМ. Но - какими бы малыми они ни были, их появление существенно меняет математические свойства арифметических операций. Точные операции являются коммутативными, ассоциативными и связаны между собой законом дистрибутивности. Операции на ЭВМ уже не являются таковыми. Поэтому; чтобы указать алгоритм вычисления любого арифметического выражения, необходимо определить порядок выполнения входящих в него операций.  [39]

Количество t цифр, отводимое для записи мантиссы, называется разрядностью мантиссы. Для записи порядка р также отводится конечное число двоичных цифр. Поскольку нуль - ненормализуемое число, то он записывается специальным образом. Из самого способа представления чисел вытекают следующие особенности машинной арифметики.  [40]

Эти возмущения могут возникнуть при записи чисел а15 и bj в память машины или в силу неопределенностей, либо присущих этим числам, либо возникающих из-за ошибок эксперимента. Последние неопределенности весьма велики для многих реальных задач по сравнению с машинными ошибками округления. Решенная задача порождает дальнейшие возмущения из-за различного рода несоответствий в машинной арифметике или в алгоритме решения машинной задачи. Вектор невязки г представляет общий эффект этих несоответствий.  [41]

Вернемся к нашей модели, в которой вычитание близких чисел всегда производится точно. Числа аир часто, хотя и не всегда, являются результатом предыдущих вычислений и тем самым обладают унаследованной неопределенностью. Когда происходит взаимное уничтожение, то велика именно относительная неопределенность разности, а не относительная ошибка вычитания. Это различие отнюдь не академическое; иногда близкие числа точны, и их разность не содержит ошибки. Явление взаимного уничтожения не ограничено машинной арифметикой и может быть выражено следующим формальным образом.  [42]

Разнообразие связей ПК с внешним миром уже сегодня велико: ПК может получить / послать сигнал, сообщение или порцию информации посредством специализированной информационной сети ( локальной либо глобальной), по обычной телефонной сети, а также через специальные средства для связи с научной и технической аппаратурой. Разумеется, то же самое можно сказать и о большой ЭВМ, однако именно с появлением ПК проблема связей между ЭВМ стала по-настоящему актуальной. Обращается внимание читателя на характерные прежде всего для ПК дружественность по отношению к пользователю и возможность очень свободного маневрирования ресурсами ПК, как аппаратными, так и программными. Завершается статья сжатым обзором различных форм внутреннего представления информации в ПК с небезынтересными замечаниями о машинной арифметике.  [43]

44 Пример программы и ее результат. [44]

В нашем случае можно выбрать такое представление, чтобы рациональные функции были почти готовы для печати; результат каждой операции должен преобразовываться к стандартному виду. Можно и по-другому выбрать внутреннее представление, так, чтобы операция печати преобразовывала представление функции, когда это необходимо. Однако требуемый для такого преобразования объем работы может быть сколь угодно большим. Независимо от выбранного метода для целей упрощения нужно различать целые и вещественные константы, с тем чтобы погрешность машинной арифметики не помешала распознаванию нулевых и единичных значений. Заметьте также, что возведение в первую степень обычно опускают. На рис. 20.1 показаны простая программа и ее результат.  [45]



Страницы:      1    2    3    4