Руководство по языку B.Pascal 7

       

Сравнение вещественных чисел


Поскольку значения вещественного типа являются приблизитель- ными, результат сравнения значений различного вещественного типа не всегда можно предсказать. Например, если Х - переменная ве- щественного типа с одинарной точностью, а Y - переменная вещест- венного типа с двойной точностью, то результатом выполнения сле- дующих операторов будет значение False:

X := 1/3; Y := 1/3; Writeln(X = Y);

Причина этого состоит в том, что Х имеет точность только до 7-8 цифр, а Y - точность до 15-16 цифр, и когда оба значения пре- образуются к типу с повышенной точностью, то после первых 7-8 цифр остальные цифры будут различаться. Аналогично, результатом выполнения операторов:

X := 1/3; Writeln(X = 1/3);

будет значение False, результат 1/3 в операторе Writeln вычисля- ется с точностью до 20 значащих цифр.



Содержание раздела