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

§ 3. Фиксированная и плавающая запятая

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

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

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

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

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

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

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

Представление чисел с плавающей запятой заключается в следующем. Всякое ненулевое число можно записать в виде

где — целое число и

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

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

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

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

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

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

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

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

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

УПРАЖНЕНИЯ

(см. скан)

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