Особенности машинной арифметики

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

Будем считать, что все вычислительные машины работают в двоичной системе счисления. Для хранения числа в памяти ЭВМ отводится поле стандартной длины (машинное слово), в котором число записывается в виде последовательности двоичных цифр (0 или 1). Целое число n представляется в виде

Особенности машинной арифметики - student2.ru (2)

где L- некоторое стандартное для ЭВМ целое число, ai – двоичные числа.

Всего для хранения числа n отводят L +2 разрядов (один из них для хранения знака).

Из представления (2) видно, что максимальное по модулю целое число, представимое в ЭВМ, есть Особенности машинной арифметики - student2.ru . Операции сложения, вычитания и умножения над целыми числами реализованы так, что если результат не превышает по модулю число nmax , то он получается точным. Однако, если модуль результата превышает nmax , то на ряде вычислительных машин эта ситуация не доводится до сведения пользователя, происходит присвоение результату некоторого значения, меньшего nmax по модулю, и вычисления продолжаются далее.

Для вещественных чисел принята форма представления с плавающей точкой, когда каждое число представляется в виде

Особенности машинной арифметики - student2.ru (3)

где Особенности машинной арифметики - student2.ru – двоичные цифры. Число x нормализуется так, чтобы Особенности машинной арифметики - student2.ru и поэтому в ЭВМ хранятся только значащие цифры. Число Особенности машинной арифметики - student2.ru называется мантиссой числа x . Количество t цифр, которое отводится для записи мантиссы, называется разрядностью мантиссы, p - целое число, называемое двоичным порядком. Порядок также записывают, как двоичное целое число Особенности машинной арифметики - student2.ru , для хранения которого в машинном слове отводится 2 + l двоичных разрядов.

Так как нуль – ненормированное число (его нельзя представить в виде (3) при 0 1 ¹ g ), то для его хранения предусматривают особый способ записи.

Отметим следующие моменты.

1. В ЭВМ представимы не все числа, а лишь конечный набор рациональных чисел специального вида. Эти числа образуют представимое множество вычислительной машины. Для всех остальных чисел x возможно лишь их приближенное представление с ошибкой, которую принято называть ошибкой представления (или ошибкой округления). Обычно приближенное представление числа x в ЭВМ обозначают как Особенности машинной арифметики - student2.ru . Если округление производят по дополнению, то граница относительной погрешности представления равна единице первого отброшенного разряда мантиссы, т.е Особенности машинной арифметики - student2.ru . Если же округление производят усечением, то Особенности машинной арифметики - student2.ru Величина Особенности машинной арифметики - student2.ru играет в вычислениях на ЭВМ фундаментальную роль, ее называют относительной точностью ЭВМ, а также машинной точностью (или машинным эпсилон). Значение этой величины определяется разрядностью мантиссы и способом округления.

Можно считать, что точное число x и отвечающее ему округленное число Особенности машинной арифметики - student2.ru связаны равенством

Особенности машинной арифметики - student2.ru

Среди представимых на ЭВМ чисел нет не только ни одного иррационального (в том числе и таких важных постоянных, Особенности машинной арифметики - student2.ru но и даже такого широко используемого в вычислениях числа, как 0.1. Дело в том, что двоичная запись числа 0.1 является бесконечной периодической дробью: Особенности машинной арифметики - student2.ru . Поэтому это число представляется на ЭВМ приближенно, с погрешностью, вызванной необходимостью округления.

2. Диапазон изменения чисел в ЭВМ ограничен. Для всех представимых на ЭВМ чисел x (за исключением нуля) имеем Особенности машинной арифметики - student2.ru Все числа по модулю большие Особенности машинной арифметики - student2.ru рассматриваются, как машинная бесконечность.

Попытка получить такое число приводит к аварийному останову (авосту) ЭВМ по переполнению. Все числа по модулю меньшие Особенности машинной арифметики - student2.ru для ЭВМ не различимы и представляются, как нуль (машинный нуль). Получение числа x , такого, что Особенности машинной арифметики - student2.ru , называют исчезновением порядка. Обычно, при исчезновении порядка, автоматически полагается Особенности машинной арифметики - student2.ru и вычисления продолжаются.

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

Особенности машинной арифметики - student2.ru (4)

где звездочка означает любую из операций Особенности машинной арифметики - student2.ru Если результат выполнения арифметической операции является машинным нулем, то в формуле (4) надо положить Особенности машинной арифметики - student2.ru

Отметим еще раз, что в отличие от обычных математических операций, машинные арифметические операции из-за ограниченной разрядности мантиссы обладают иными свойствами. Например, не выполняется известное правило арифметики «от перемены мест слагаемых сумма не меняется».

Наши рекомендации