Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Погрешность машинных вычислений и представлений чисел в памяти ЭВМ






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

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

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

 

,

где .

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

Может ока­заться, что для точного представления результата выполнения арифметической операции требуется больше, чем цифр и его мантисса «не умещается» в стандартную ячейку памяти компьютера. Перемножая два машинных числа, содержащих по значащих цифр, мы получим, вообще говоря, число, имеющее значащих цифр. Для точного представления ре­зультата их деления может потребоваться бесконечное мно­жество значащих цифр. Подобные примеры показывают, что множество машинных чисел незамкнуто относительно обычных арифметических операций и результат их выполнения может не являться машинным числом.

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






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.