E.3 Summary of Data Types and Characteristics

Table E-1 lists the Compaq Fortran 77 data types and valid numeric ranges.

Table E-1 Intrinsic Data Types and Numeric Ranges

Data Type  Description 
BYTE  A signed integer data type equivalent to INTEGER*1. 
INTEGER  A signed integer whose size is controlled by the INTEGER_SIZE compiler option (see Section E.4). 
INTEGER*1  A signed integer value whose range is -128 to 127 (-2**7 to 2**7-1). The range for an unsigned value is 0 to 255 (2**8-1).[1]  
INTEGER*2  A signed integer value whose range is -32,768 to 32,767 (-2**15 to 2**15-1). The range for an unsigned value is 0 to 65535 (2**16-1).[1]  
INTEGER*4  A signed integer value whose range is -2,147,483,648 to 2,147,483,647 (-2**31 to 2**31-1). The range for an unsigned value is 0 to 4,294,967,295 (2**32-1).[1]  
INTEGER*8  A signed integer value whose range is -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 (-2**63 to 2**63-1). The range for an unsigned value is 0 to 18446744073709551615 (2**64-1).[1]  
LOGICAL  A logical value whose size is controlled by the INTEGER_SIZE compiler option (see Section E.4). 
LOGICAL*1   A logical value of .TRUE. or .FALSE..[2]  
LOGICAL*2  A logical value of .TRUE. or .FALSE..[2]  
LOGICAL*4  A logical value of .TRUE. or .FALSE..[2]  
LOGICAL*8  A logical value of .TRUE. or .FALSE..[2]  
REAL  A real floating-point number whose size is controlled by the REAL_SIZE compiler option (see Section E.4). 
REAL*4  A single-precision real floating-point value whose range depends on its format.

The range for an S_floating[5] value is 1.17549435E-38 to 3.40282347E38. Values between 1.17549429E-38 and 1.40129846E-45 are denormalized.[4] You cannot write a constant for a denormalized number.

The range for an F_floating[5] value is approximately 0.293873588E-38 to 1.7014117E38.  

DOUBLE PRECISION
REAL*8
 
A double-precision real floating-point value whose range depends on its format.

The range for a T_floating[3] value is 2.2250738585072013D-308 to 1.7976931348623158D308. Values between 2.2250738585072008D-308 and 4.94065645841246544D-324 are denormalized.[4] You cannot write a constant for a denormalized number.

The range for a D_floating[5] value is approximately 0.2938735877055719D-38 to 1.70141183460469229D38.

The range for a G_floating[5] value is approximately 0.5562684646268004D-308 to 0.89884656743115785407D308.  

REAL*16 (VMS, U*X)   An extended-precision real floating-point value whose range depends on its format.

The range for an X_floating[3] value is approximately 6.4751751194380251109244389582276465524996Q-4966 to 1.189731495357231765085759326628007016196477Q4932.

The range for an H_floating[6] value is approximately 0.84*10**-4932 through 0.59*10**4932.  

COMPLEX  A complex floating-point number whose size is controlled by the REAL_SIZE compiler option (see Section E.4). 
COMPLEX*8  A single-precision complex floating-point value whose real and imaginary parts consist of REAL*4 numbers. For the ranges, see REAL*4 in this table. 
DOUBLE COMPLEX
COMPLEX*16
 
A double-precision complex floating-point value whose real and imaginary parts consist of REAL*8 numbers. For the ranges, see REAL*8 in this table. 
CHARACTER  A character datum represented by character code convention. Character declarations can be in the form CHARACTER*len, where len is the number of bytes, or CHARACTER*(*), indicating passed-length format. 
HOLLERITH  A Hollerith constant.  

[1] This range is allowed for assignment to variables of this type, but the data type is treated as signed in arithmetic operations.

[2] Logical data type ranges correspond to their comparable integer data type ranges. For example, in LOGICAL*2 L, the range for L is the same as the range for INTEGER*2 integers.

[3] Alpha only

[4] For more information on floating-point underflow, see your user manual.

[5] VMS only

[6] VAX only

For More Information:

For details on data type storage requirements, see Table 2-1.


Previous Page Next Page Table of Contents