Главная > Математика > Вычислительные основы линейной алгебры
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

§ 4. Особенности представления чисел на ЭВМ

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

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

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

Обозначим через конечную дробь, которая получается после округления числа с фиксированной запятой до разряда после запятой. Имеем

где есть ошибка округления. Каким бы образом ни было реализовано округление, согласно (2.1) на классе вещественных чисел нельзя получить оценки лучшей, чем

Обозначим, далее, через конечную Дробь, которая получается после округления мантиссы числа с плавающей запятой до разряда после запятой. Тождество, аналогичное (4.1), теперь удобнее записать в таком виде:

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

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

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

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

Итак, с формальной точки зрения почти все ненулевые числа принадлежащие интервалу

заведомо нельзя представить в ЭВМ с плавающей запятой, соблюдая соотношение (4.4). Такие числа могут появиться в процессе вычислений. Например, они появляются после перемножения любых двух чисел х, у, удовлетворяющих соотношениям

При этом сами числа х, у не принадлежат интервалу (4.5).

Числа из (4.5) необходимо заменять какими-то числами, представимыми в ЭВМ. Выход из создавшегося положения, по существу, единственный. Так как является «малым» числом, то все числа из интервала (4.5) заменяются в ЭВМ нулем. Для этих чисел и получаем Исключение составляет число нуль, для которого можно считать Таким образом, на классе вещественных чисел можно получить лишь оценки следующего вида:

Несмотря на «малость» интервала (4.5), с подобными числами приходится проводить вычисления значительно чаще, чем может показаться на первый взгляд. Как будет установлено в дальнейшем, именно к таким вычислениям приводят многие важнейшие численные методы линейной алгебры. Тот факт, что числа (4.5) нельзя представить

в ЭВМ с приемлемой относительной точностью, заставляет преодолевать немало трудностей при реализации методов на ЭВМ.

Для современных ЭВМ величина обычно находится в пределах величина со — в пределах Вообще говоря, и со не связаны между собой. Однако на всех ЭВМ, за исключением ЭВМ с переменной длиной мантиссы, выполняется соотношение

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

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

Чтобы не заниматься излишними деталями, связанными с особенностями представления чисел на конкретных ЭВМ, всюду в дальнейшем будет предполагаться выполнение оценок (4.2), (4.6). Операцию округления с такими оценками будем называть правильной.

Правильное округление обладает существенными достоинствами. Тем не менее на многих, если не большинстве, современных ЭВМ по тем или иным причинам округление не реализуется правильно. При этом в оценках типа (4.2), (4.4) справа появляется дополнительный множитель Если относительно ошибок округления необходимо знать лишь их мажорантные оценки, то подобная реализация операции округления равносильна потере разрядов в представлении чисел на ЭВМ, так как

В действительности последствия неправильной реализации операции округления значительно серьезнее» чем просто потеря некоторого числа разрядов.

УПРАЖНЕНИЯ

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление