Вещественные типы данных в Pascal
В языке Паскаль существует несколько типов для представления действительных (вещественных) чисел. Чаще всего используется тип Real.
Вещественные типы в Pascal
| Тип | Диапазон | Число цифр | Память, байт |
|---|---|---|---|
| Real | зависит от платформы | ??? | 4 или 8 |
| Single | 1.5e-45 .. 3.4e38 | 7-8 | 4 |
| Double | 5.0e-324 .. 1.7e308 | 15-16 | 8 |
| Extended | 1.9E-4932 .. 1.1E4932 | 19-20 | 10 |
| Comp | -2E64+1 .. 2E63-1 | 19-20 | 8 |
| Currency | -922 337 203 685 477.5808 .. 922 337 203 685 477.5807 | 19-20 | 8 |
Число цифр определяет точность, с которой будет храниться вещественное число. Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков. Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения +, вычитания -, умножения * и деления /. Результатом этих операций является также действительное число. Даже если хотя бы один из операндов вещественный, то результат этих операций также будет вещественным.
Операция деления / дает вещественный результат и в случае двух целых операндов. Например, 6 / 2 = 3.0.
Для действительных чисел допустимы такие же операции отношения (сравнения), что и для целых чисел.
Стандартная функция abs(x) — модуль x — от целого аргумента дает целый результат, а от вещественного — вещественный, как и sqr(x) — квадрат x.
Функции, которые дают вещественный результат, как для вещественного, так и для целого аргумента:
sin(x)— синус x (x в радианах),cos(x)— косинус x (x в радианах),ln(x)— натуральный логарифм x,exp(x)— экспонента x,sqrt(x)— корень квадратный из x,arctan(x)— арктангенс x
Функция int возвращает в виде действительного значения целую часть аргумента, frac возвращает дробную часть аргумента.
var x: real; begin x := 4.7389; writeln(x:10:4); writeln(int(x):10:4); writeln(frac(x):10:4); end.
Результат выполнения:
4.7389
4.0000
0.7389Функции trunc и round возвращают результат целого типа. Первая отсекает дробную часть от аргумента, а вторая выполняет округление до ближайшего целого.
Функция random без аргументов возвращает равномерно распределенное случайное число от 0 до 1.
Не имеющая аргументов функция pi возвращает число Пифагора.
В следующих случаях нельзя использовать переменные и константы вещественного типа:
- в функциях
pred,succ,ord; - в качестве индексов массивов;
- в операторах передачи управления в качестве меток.