В С++ определены 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.