And
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
The binary operator and
performs a logical conjunction.
FPC also does a bitwise and
when supplied with ordinal types.
Boolean operation
The operator and
accepts to two Boolean type values.
It is the logical conjunction written in classic logic as [math]A \land B[/math].
Electrical engineers may write [math]A \times B[/math] or [math]A \cdot B[/math], or eliminating the multiplication sign altogether writing [math]AB[/math].
However, the asterisk has a different meaning in programming.
The Boolean and
evaluates to true
if and only if both operands are true
.
A

B

A or B


false

false

false

false

true

false

true

false

false

true

true

true

Bitwise operation
FPC also defines a bitwise and
.
Taking two ordinal operands logical and
is calculated bit by bit:
1010'1100 and 0011'0100 ―――――――――――― 0010'0100
comparative remarks
Depending on the compiler's specific implementation of the data type set
, the intersection of sets virtually does the same as the bitwise and
.
See also
 Boolean
 § “boolean operators” in the “Free Pascal Reference Guide”
 § “logical operators” in the “Free Pascal Reference Guide”
and
Bitwise andor
Bitwise ornot
Bitwise negation (unary)shl
Bitwise shift to the leftshr
Bitwise shift to the rightxor
Bitwise xorodd
Determine if number is odd << Bitwise shift to the left (same as shl)
 >> Bitwise shift to the right (same as shr)
 $Bitpacking
 Bit manipulation
}}