[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

### 8.10.5 Operations for Integer and Ordinal Types

- Bit manipulations: The BP style bit shift operators `shl` and `shr` exist in GPC as well as bitwise `and`, `or`, `xor` and `not` for integer values.

      2#100101 and (1 shl 5) = 2#100000

  GPC also supports `and`, `or`, `xor` and `not` as procedures:

      program BitOperatorProcedureDemo;
      var x: Integer;
      begin
        x := 7;
        and (x, 14);  { sets x to 6 }
        xor (x, 3);   { sets x to 5 }
      end.

- Succ, Pred: The standard functions ``Succ'` and ``Pred'` exist in GPC and accept a second parameter.

- Increment, decrement: The BP built-in Procedures `Inc` and `Dec` exist in GPC.

      program IncDecDemo;
      var
        i: Integer;
        c: Char;
      begin
        Inc (i);     { i := i + 1; }
        Dec (i, 7);  { i := i - 7; }
        Inc (c, 3);  { c := Succ (c, 3); }
      end.

- `Min`, `Max`: These are a GNU extension and work for reals as well as for ordinal types. Mixing reals and integers is okay, the result is real then.

This document was generated by Frank Heckenbach on May, 10 2002 using texi2html