Operators and Expressions
+ - * / (real division), div (integer division), mod not, and, or, xor (short-circuit evaluation is the default with {$B-}) not and or xor shl shr (on integers) + (concatenation)
+ (union), - (difference), * (intersection), in (membership), <=/>= (subset/superset)
@ (address), ^ (dereference), +/- (pointer arithmetic with {$POINTERMATH ON}) is (type check), as (checked cast)
is not, not in, ternary if Cond then A else B expression (verify for your version)
⚠️ Operator precedence: and/or bind more tightly than comparisons in Pascal. Always parenthesize: if (A > 0) and (B > 0) then.
*, /, div, mod, and, shl, shr, as +, -, or, xor
=, <>, <, >, <=, >=, in, is
var
X: Integer;
R: Double;
begin
X := 17 div 5; // 3
X := 17 mod 5; // 2
R := 17 / 5; // 3.4
if (X > 0) and (R < 10) then Writeln('both'); // parentheses required around comparisons!
X := X shl 2;
// Delphi 13+: var S := if X > 0 then 'positive' else 'non-positive';
end;