В С++ определены 3 логические операции: И, ИЛИ, НЕ.
Операции И и ИЛИ являются бинарными, операция НЕ — ударная. Все они работают с операндами типа bulean и возвращают результат типа bulean. То есть, первым двум требуется два операнда, операция НЕ использует один операнд; их операнды и результат равен true или false.
| Symbol | Alt | Operator |
|---|---|---|
| && | and | И |
| || | or | ИЛИ |
| ! | not | НЕ |
Табл. 1.
Чаще всего, результат выполнения логических операций передают в функцию if().
Рис. 1.

Рис. 2.
int k1 = 3, k2 = 2, l1 = 4;
void setup() {
pinMode(k1, INPUT_PULLUP);
pinMode(k2, INPUT_PULLUP);
pinMode(l1, OUTPUT);
}
void loop() {
bool x = digitalRead(k1);
bool y = digitalRead(k2);
digitalWrite(l1, x && y);
delay(10);
}
Лист. 1.
| № | x | y | and | or | not | xor |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | ||||
| 1 | 0 | 1 | ||||
| 2 | 1 | 0 | ||||
| 3 | 1 | 1 |
Табл. 2.
int k1 = 3, k2 = 2, l1 = 4;
void setup() {
pinMode(k1, INPUT_PULLUP);
pinMode(k2, INPUT_PULLUP);
pinMode(l1, OUTPUT);
}
void loop() {
bool x = digitalRead(k1);
bool y = digitalRead(k2);
digitalWrite(l1, x != y);
delay(10);
}
Лист. 2. XOR

Рис. 3.
