Library /sys$common/syshlp/helplib.hlb  —  FORTRAN  Data  Constants  Integer
  An integer constant is a whole number with no decimal point.  It
  can have a leading sign and is interpreted as a decimal number.

  VSI Fortran provides four kind type parameters for data of type
  integer:  INTEGER(KIND=1) (or INTEGER*1), INTEGER(KIND=2) (or
  INTEGER*2), INTEGER(KIND=4) (or INTEGER*4), and INTEGER(KIND=8) (or
  INTEGER*8).

  The type specifier for the integer type is INTEGER.

  If a kind type parameter is specified, the integer has the kind
  specified.  If a kind type parameter is not specified, integer
  constants are interpreted as follows:

   o  If the integer constant is within the default integer kind, the
      kind is default integer.

   o  If the integer constant is outside the default integer kind,
      the kind type of the integer constant is the smallest integer
      kind which holds the constant.

  Integer constants take the following form:

    [s]n[n...][_k]

    s   Is a sign; required if negative (-), optional if
        positive (+).

    n   Is a decimal digit (0 through 9).  Any leading
        zeros are ignored.

    k   Is an optional kind type parameter (1 for
        INTEGER(KIND=1), 2 for INTEGER(KIND=2), 4 for
        INTEGER(KIND=4), and 8 for INTEGER(KIND=8)). It
        must be preceded by an underscore (_).

  An unsigned constant is assumed to be nonnegative.

  Integers are expressed in decimal values (base 10) by default.

  To specify a constant that is not in base 10, use the following
  syntax:

    [s][[base] #]nnn...

    s     Is a sign; required if negative (-), optional if
          positive (+).

    base  Is any constant from 2 through 36.

  If "base" is omitted but # is specified, the integer is interpreted
  in base 16.  If both "base" and # are omitted, the integer is
  interpreted in base 10.

  For bases 11 through 36, the letters A through Z represent numbers
  greater than 9.  For example, for base 36, A represents 10, B
  represents 11, C represents 12, and so on, through Z, which
  represents 35.  The case of the letters is not significant.

  For example, the following integers are all assigned a value equal
  to 3994575 decimal:

  I     = 2#1111001111001111001111
  K     = #3CF3CF
  n     = +17#2DE110
  index = 36#2DM8F

  You can use integer constants to assign values to data.  The
  integer data types have the following ranges:

    BYTE         Same range as INTEGER*1

    INTEGER*1    Signed integers: -128 to 127 (-2**7 to 2**7-1)
    (1 byte)     Unsigned integers: 0 to 255 (2**8-1)

    INTEGER*2    Signed integers: -32768 to 32767
    (2 bytes)                     (-2**15 to 2**15-1)
                 Unsigned integers: 0 to 65535 (2**16-1)

    INTEGER*4    Signed integers: -2147483648 to 2147483647
    (4 bytes)                          (-2**31 to 2**31-1)
                 Unsigned integers: 0 to 4294967295 (2**32-1)

    INTEGER*8    Signed integers: -9223372036854775808 to
    (8 bytes)    9223372036854775807 (-2**63 to 2**63-1)

  NOTE1: The value of an integer constant must be within
         INTEGER(KIND=8) range.

  NOTE2: The "unsigned" ranges above are allowed for assignment
         to variables of these types, but the data type is
         treated as signed in arithmetic operations.
Close Help