Difference between revisions of "And"
(review) |
(→comparative remarks: correct wrong statement) |
||
Line 43: | Line 43: | ||
== comparative remarks == | == comparative remarks == | ||
− | Depending on the compiler's specific implementation of the data type [[Set|<syntaxhighlight lang="pascal" enclose="none">set</syntaxhighlight>]], the [[ | + | Depending on the compiler's specific implementation of the data type [[Set|<syntaxhighlight lang="pascal" enclose="none">set</syntaxhighlight>]], the [[Asterisk|intersection of sets]] virtually does the same as the bitwise <syntaxhighlight lang="pascal" enclose="none">and</syntaxhighlight>. |
== see also == | == see also == | ||
* [[Or|<syntaxhighlight lang="pascal" enclose="none">or</syntaxhighlight>]] | * [[Or|<syntaxhighlight lang="pascal" enclose="none">or</syntaxhighlight>]] |
Revision as of 20:06, 8 November 2018
│
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]\displaystyle{ A \land B }[/math].
Electrical engineers may write [math]\displaystyle{ A \times B }[/math] or [math]\displaystyle{ A \cdot B }[/math], or eliminating the multiplication sign altogether writing [math]\displaystyle{ 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
.