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


8.7.2 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).