Лекция 01. Тема Общая характеристика языков программирования высокого уровня


Download 4.1 Mb.
Pdf ko'rish
bet20/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   16   17   18   19   20   21   22   23   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

3.2. Вещественный тип 
Вещественный тип, т.е. тип чисел с плавающей запятой моделирует 
действительные числа. Однако следует помнить, что их представление всегда 
является аппроксимацией, т.к. ни одно из них не может быть точно 
представлено в виде числа с плавающей точкой (рис. 6).


Рисунок 6. Внутреннее представление числа с плавающей запятой
Большинство ЯП содержат два типа: float
(real) – стандартный размер, 
обычно в 4 байта памяти; и double  – мантисса занимает в 2 раза больше бит 
памяти. 
Константы действительного типа можно представить следующими 
тремя способами, которые в языках являются предопределенными:

запись с точкой: 10.4 , -0.000000000145 ,

запись с порядком: 104Е-01 , -145Е-12 ,

запись с точкой и порядком: 1.04Е+01 , -1.45Е-10 .
Основные операции над данными вещественного типа: сложение (+), 
вычитание (-), умножение (•), деление (/), возведение в степень (**), 
сравнение на равенство (=), сравнение на неравенство (/=), сравнение на 
меньше (<), сравнение на меньше или равно, (<=), сравнение на больше (>), 
сравнение на больше или равно (>=), унарный плюс (+), унарный минус (-), 
абсолютное значение (abs). 
Однако при обработке действительных чисел с конечной точностью 
представления следует учитывать возможные ошибки округления (особенно 
при сравнении их на равенство и неравенство). Поэтому следует сравнивать 
действительные числа лишь на приближенное равенство и неравенство, т.е. в 
некоторой окрестности, например:
var x,y : real;
begin if abs(x-y) < 0.00001 then ... end.
Кроме этого, при вычислении выражения с действительными числами 
возникают погрешности, которые могут оказать существенное влияние на 
Мантисса 23 бита(52) 
Знак числа 
Знак порядка 
Порядок 
8 бит(11) 
0 1 2 31 


получаемые результаты. Следующие рекомендации позволяют уменьшить 
погрешность вычислений:

при сложении ряда чисел определять все положительные и 
отрицательные слагаемые и складывать их поочередно;

складывать наименьшие члены сумм первыми;

избегать вычитания двух почти равных чисел; если это все же 
необходимо, производить вычитание до умножения или деления 
(т.е. лучше записать a*(b-c), чем a*b-a*c);

избегать показателей степени в форме действительных чисел, так 
как в этом случае степень вычисляется через log и ехр; напротив, 
х**2 вычисляется как х
*
х;

использовать операцию sqrt(х) при вычислении x
0,5
, так как sqrt 
обычно вычисляется точнее;

использовать в процессе вычисления максимально возможную 
точность, если это необходимо;

избегать цепочек операций, в которых используются неточные 
значения;

использовать алгоритмы, для которых известны оценки и границы 
ошибок.

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   16   17   18   19   20   21   22   23   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling