Представление чисел в ЭВМ

Введение

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

Машинная арифметика имеет свои характерные особенности. При обсуждении их необходимо учитывать два важных обстоятельства:

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

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

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

Представление чисел в ЭВМ

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

Множество чисел с плавающей точкой Представление чисел в ЭВМ - student2.ru характеризуется 4-мя параметрами: числом разрядов Представление чисел в ЭВМ - student2.ru , основанием системы счисления Представление чисел в ЭВМ - student2.ru , границами Представление чисел в ЭВМ - student2.ru изменения показателя. Каждое число Представление чисел в ЭВМ - student2.ru представляется в виде:

Представление чисел в ЭВМ - student2.ru ,

где Представление чисел в ЭВМ - student2.ru - целые числа такие, что Представление чисел в ЭВМ - student2.ru , а Представление чисел в ЭВМ - student2.ru . Число Представление чисел в ЭВМ - student2.ru называется показателем, Представление чисел в ЭВМ - student2.ru - дробной частью или мантиссой.

Если для любого ненулевого числа Представление чисел в ЭВМ - student2.ru Представление чисел в ЭВМ - student2.ru , то система называется нормализованной.

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

В силу конечности множества Представление чисел в ЭВМ - student2.ru при представлении заданного ненулевого числа Представление чисел в ЭВМ - student2.ru в системе чисел с плавающей точкой могут возникнуть 4 ситуации:

1) число Представление чисел в ЭВМ - student2.ru по модулю больше максимального из чисел множества Представление чисел в ЭВМ - student2.ru - переполнение порядка; для большинства компьютеров вычисление на этом заканчивается;

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

3) число Представление чисел в ЭВМ - student2.ru совпадает с одним из чисел множества Представление чисел в ЭВМ - student2.ru - в этом случае Представление чисел в ЭВМ - student2.ru представляется в ЭВМ точно;

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

С точки зрения точности представления чисел в ЭВМ наибольший интерес представляет ситуация 4). В современных ЭВМ наиболее широко представлены два способа приближения чисел: округление и усечение.

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

Задание. Какой способ приближения является более точным, на сколько? Почему?

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