Node: Constants, Next: , Previous: Types, Up: Data Types and Constants



Constants

(Corresponds to Section 4.2 of ANSI X3.9-1978 FORTRAN 77.)

A typeless constant has one of the following forms:

     'binary-digits'B
     'octal-digits'O
     'hexadecimal-digits'Z
     'hexadecimal-digits'X
     

binary-digits, octal-digits, and hexadecimal-digits are nonempty strings of characters in the set 01, 01234567, and 0123456789ABCDEFabcdef, respectively. (The value for A (and a) is 10, for B and b is 11, and so on.)

A prefix-radix constant, such as Z'ABCD', can optionally be treated as typeless. See Options Controlling Fortran Dialect, for information on the -ftypeless-boz option.

Typeless constants have values that depend on the context in which they are used.

All other constants, called typed constants, are interpreted--converted to internal form--according to their inherent type. Thus, context is never a determining factor for the type, and hence the interpretation, of a typed constant. (All constants in the ANSI FORTRAN 77 language are typed constants.)

For example, 1 is always type INTEGER(KIND=1) in GNU Fortran (called default INTEGER in Fortran 90), 9.435784839284958 is always type REAL(KIND=1) (even if the additional precision specified is lost, and even when used in a REAL(KIND=2) context), 1E0 is always type REAL(KIND=2), and 1D0 is always type REAL(KIND=2).