Встроенные типы данных.
Для описания различных данных в Фортране предусмотрены различные типы данных. В частности, укажем пять стандартных типов: целый (integer), вещественный (real, вещественные числа одинарной точности), комплексный (complex, комплексные числа одинарной точности), логический (LOGICAL) и символьный (CHARACTER).
В таблице 1.4.1 приведены сведения о диапазонах изменения числовых типов данных (целый, вещественный и комплексный типы).
При этом, в таблице 1.4.1 диапазон изменения вещественных чисел представлен в научном формате, в котором, например запись − 3.435E+38 обозначает − 3.435∙1038.
Память, занимаемая переменной или константой стандартного целого или вещественного типа, равна 4 байтам.
Объекты стандартных числовых типов объявляются операторами, имена которых совпадают с именами типов данных, например:
integer i, j ! Объявляем переменные целого типа i и j real a, b ! Объявляем переменные вещественного типа a и b complex d ! Объявляем переменную комплексного типа d i=3; j=6*i ! Используем переменные в простых выражениях x=1.5; y=0.2*x d=(1.2, -2.4)*1.5 ! Возвращает: (1.8, -3.6) |
Таблица 1.4.1. Диапазоны изменения числовых типов данных.
№ п/п | Тип | Диапазон изменения |
integer | от − 2 147 483 648 до + 2 147 483 647 | |
real | отрицательные числа: от − 3.4028235E+38 до − 1.1754944E−38; число 0; положительные числа: от + 1.1754944E−38 до + 3.4028235E+38; дробная часть может содержать до шести десятичных знаков. | |
complex | Состоит из пары вещественных чисел одинарной точности real, задающих действительную и мнимую часть комплексного числа. |
Параметр разновидности стандартных числовых типов данных равен четырем, то есть, например, для целого типа объявления integer и integer(4) эквивалентны.
В таблице 1.4.2 представлены возможные числовые типы данных.
Таблица 1.4.2. Возможные числовые типы данных.
№ п/п | Тип | Диапазон изменения | Число байт |
Целый | |||
integer(1) | от − 128 до + 127 | ||
integer(2) | от − 32 768 до + 32767 | ||
integer(4) | то же, что и integer | ||
byte | то же, что и integer(1) | ||
Вещественный | |||
real(4) | то же, что и real | ||
real(8) | отрицательные числа: от − 1.797693134862316D+308 до − 2.225073858507201D−308; число 0; положительные числа: от 2.225073858507201D−308 до 1.797693134862316D+308; дробная часть может содержать до 15 десятичных знаков. | ||
double precision | тоже, что и real(8). | ||
Комплексный | |||
complex(4) | то же, что и complex | ||
complex(8) | Состоит из пары вещественных чисел двойной точности real(8), задающих действительную и мнимую часть комплексного числа. | ||
DOUBLE COMPLEX | то же, что и complex(8) |
Тип real(8) называется вещественным типом двойной точности.
Запись типа 3.435D+38 для данных двойной точности обозначает 3.435∙1038.
Очевидно, что использование данных с меньшим параметром разновидности позволяет экономить занимаемую данными память, а в случае вещественных или комплексных чисел еще и время вычислений.
Объект логического типа данных может принимать два значения: .TRUE. (истина) и .FALSE. (ложь). Объект стандартного логического типа объявляется оператором LOGICAL или LOGICAL(4), например
logical id1 logical(4) :: id2=.true. |
Объект стандартного логического типа занимает в памяти 4 байта, объекты типа LOGICAL(2) − 2 байта, а LOGICAL(1) − 1 байт. Объекты с меньшим значением параметра разновидности используются, в частности, с целью экономии памяти.
Символьный тип данных имеет вид CHARACTER(n), где n − длина символьной строки (1≤n≤32767) или длина строки в байтах (занимает n байт). В частности, тип CHARACTER или CHARACTER(1) занимает 1 байт.
В заключении заметим, что в Фортране стандарта FORTRAN-77 синтаксис определения типа был иным, а именно вместо integer(1), integer, complex(4) и complex(8) используются соответственно integer*1, integer, complex*8 и complex*16.