blob: f109bdb8176868484ee540e6969e211dceb69558 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
.. _arduino-boolean:
Boolean Operators
=================
These can be used inside the condition of an
`if <http://arduino.cc/en/Reference/If>`_ statement.
&& (logical and)
~~~~~~~~~~~~~~~~
True only if both operands are true, e.g.
::
if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) { // read two switches
// ...
}
is true only if both inputs are high.
\|\| (logical or)
~~~~~~~~~~~~~~~~~
True if either operand is true, e.g.
::
if (x > 0 || y > 0) {
// ...
}
is true if either x or y is greater than 0.
! (not)
~~~~~~~
True if the operand is false, e.g.
::
if (!x) {
// ...
}
is true if x is false (i.e. if x equals 0).
Warning
-------
Make sure you don't mistake the boolean AND operator, && (double
ampersand) for the bitwise AND operator & (single ampersand). They
are entirely different beasts.
Similarly, do not confuse the boolean \|\| (double pipe) operator
with the bitwise OR operator \| (single pipe).
The bitwise not ~ (tilde) looks much different than the boolean not
! (exclamation point or "bang" as the programmers say) but you
still have to be sure which one you want where.
Examples
--------
::
if (a >= 10 && a <= 20){} // true if a is between 10 and 20
See also
--------
- `& <http://arduino.cc/en/Reference/BitwiseAnd>`_ (bitwise AND)
- `\| <http://arduino.cc/en/Reference/BitwiseAnd>`_ (bitwise OR)
- `~ <http://arduino.cc/en/Reference/BitwiseXorNot>`_ (bitwise NOT
- `if <http://arduino.cc/en/Reference/If>`_
|