Visible to Intel only — GUID: GUID-1BFFE18C-0582-4203-A0A9-100FABCA28A4
Visible to Intel only — GUID: GUID-1BFFE18C-0582-4203-A0A9-100FABCA28A4
Data Representation
Intel® Fortran expects numeric data to be in native little endian order, in which the least-significant, right-most zero bit (bit 0) or byte has a lower address than the most-significant, left-most bit (or byte). For information on using non-native big endian and VAX* floating-point formats, see Supported Native and Non-native Numeric Formats.
The following table lists the intrinsic data types used by Intel® Fortran, the storage required, and valid ranges. For information on declaring Fortran intrinsic data types, see Type Declarations. For example, the declaration INTEGER(4) is the same as INTEGER(KIND=4) and INTEGER*4.
Data Type |
Storage |
Description |
---|---|---|
BYTE |
1 byte (8 bits) |
A signed integer data type equivalent to INTEGER(1). |
INTEGER |
See INTEGER(2), INTEGER(4), and INTEGER(8) |
A signed integer, either INTEGER(2), INTEGER(4), or INTEGER(8). The size is controlled by the integer-size compiler option. |
INTEGER(1) |
1 byte (8 bits) |
A signed integer value from -128 to 127. |
INTEGER(2) |
2 bytes (16 bits) |
A signed integer value from -32,768 to 32,767. |
INTEGER(4) |
4 bytes (32 bits) |
A signed integer value from -2,147,483,648 to 2,147,483,647. |
INTEGER(8) |
8 bytes (64 bits) |
A signed integer value from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807. |
REAL |
See REAL(4), REAL(8), and REAL(16) |
A real floating-point value, either REAL(4), REAL(8), or REAL(16). The size is controlled by the real-size compiler option. |
DOUBLE PRECISION |
See REAL(8) and REAL(16) |
A double precision floating-point value, either REAL(8) or REAL(16). The size is controlled by the double-size compiler option. |
REAL(4) |
4 bytes (32 bits) |
A single-precision real floating-point value in IEEE binary32 format ranging from 1.17549435E-38 to 3.40282347E38. Values between 1.17549429E-38 and 1.40129846E-45 are subnormal. |
REAL(8) |
8 bytes (64 bits) |
A double-precision real floating-point value in IEEE binary64 format ranging from 2.2250738585072013D-308 to 1.7976931348623158D308. Values between 2.2250738585072008D-308 and 4.94065645841246544D-324 are subnormal. |
REAL(16) |
16 bytes (128 bits) |
An extended-precision real floating-point value in IEEE binary128 format ranging from 6.4751751194380251109244389582276465524996Q-4966 to 1.189731495357231765085759326628007016196477Q4932. |
COMPLEX |
See COMPLEX(4), COMPLEX(8), and COMPLEX(16) |
A complex floating-point value in a pair of real and imaginary parts that are either REAL(4), REAL(8), or REAL(16). The size is controlled by the real-size compiler option. |
DOUBLE COMPLEX |
See COMPLEX(8) and COMPLEX(16) |
A double complex floating-point value in a pair of real and imaginary parts that are either REAL(8) or REAL(16). The size is controlled by the double-size compiler option. |
COMPLEX(4) |
8 bytes (64 bits) |
A single-precision complex floating-point value in a pair of IEEE binary32 format parts: real and imaginary. The real and imaginary parts each range from 1.17549435E-38 to 3.40282347E38. Values between 1.17549429E-38 and 1.40129846E-45 are subnormal. |
COMPLEX(8) |
16 bytes (128 bits) |
A double-precision complex floating-point value in a pair of IEEE binary64 format parts: real and imaginary. The real and imaginary parts each range from 2.2250738585072013D-308 to 1.7976931348623158D308. Values between 2.2250738585072008D-308 and 4.94065645841246544D-324 are subnormal. |
COMPLEX(16) |
32 bytes (256 bits) |
An extended-precision complex floating-point value in a pair of IEEE binary128 format parts: real and imaginary. The real and imaginary parts each range from 6.4751751194380251109244389582276465524996Q-4966 to 1.189731495357231765085759326628007016196477Q4932. |
LOGICAL |
See LOGICAL(2), LOGICAL(4), and LOGICAL(8) |
A logical value, either LOGICAL(2), LOGICAL(4), or LOGICAL(8). The size is controlled by the integer-size compiler option. |
LOGICAL(1) |
1 byte (8 bits) |
A logical value of .TRUE. or .FALSE. |
LOGICAL(2) |
2 bytes (16 bits) |
A logical value of .TRUE. or .FALSE. |
LOGICAL(4) |
4 bytes (32 bits) |
A logical value of .TRUE. or .FALSE. |
LOGICAL(8) |
8 bytes (64 bits) |
A logical value of .TRUE. or .FALSE. |
CHARACTER |
1 byte (8 bits) per character |
Character data represented by character code convention. Declarations for Character Types can be in the form CHARACTER(LEN=n) or CHARACTER*n, where n is the number of bytes or n is (*) to indicate passed-length format. |
HOLLERITH |
1 byte (8 bits) per Hollerith character |
A Hollerith constant. |
In addition, you can define Binary Constants.