### shl

#### Synopsis

operator shl (operand1, operand2: `integer_type`) = Result: `integer_type`;

or

procedure shl (var operand1: `integer_type`; operand2: `integer_type`);

#### Description

In GNU Pascal, shl has two built-in meanings:

- Bitwise shift left of an integer-type expression by another integer value.
The result is of the type of the first operand.
- Use as a “procedure”: operand1 is shifted left by
operand2; the result is stored in operand1.

#### Conforming to

shl is a Borland Pascal extension.

Use of shl as a “procedure” is a GNU Pascal extension.

#### Example

program ShlDemo;
var
a: Integer;
begin
a := 1 shl 7; { yields 128 = 2 pow 7 }
shl (a, 4) { same as `a := a shl 4' }
end.

#### See also

Keywords, shr, Operators.