Programovanie‎ > ‎Operátory‎ > ‎

Logické operátory

Logické operátory sú && || ! postupne and or a not. Vykonávajú výpočet logických výrazov tvorených ich operandmi. Pravidlá pre určenie výsledku poznáme z Booleovej algebry. Logické výrazy často obsahujú aj stanovenie (a overenie) podmienok tvorených relačnými operátormi.

Logické operátory predstavujú dve hodnoty, pravda a nepravda. ANSI norma C hovorí, že hodnota nepravda je predstavovaná 0 (nulou) a pravda 1 (jednotkou). V druhom prípade však ide o doporučenie, lebo zaužívaným anachronizmom sa považuje akákoľvek nenulová hodnota za pravdu.

Najčastejšie sa používajú vo vnútri podmienky if.


&& (and)

Je pravda, iba ak obidva operandy sú pravdivé, napr.

if (digitalRead(2) == HIGH  && digitalRead(3) == HIGH) { // načíta dve digitálne hodnoty 
  // ...
} 
V tomto prípade je pravda, ak oba vstupy majú hodnotu HIGH


|| (or)

Je pravda, ak jeden operand je pravdivý, napr.

if (x > 0 || y > 0) {
  // ...
} 
V tomto prípade je pravda, ak buď x alebo y je väčšie ako 0.


! (not)

Je pravda, ak operand je nepravdivý, napr.

if (!x) { 
  // ...
} 
Je pravda, ak x je nepravda (t.j. ak x = 0).




POZOR, nepomýľte si logický operátor AND && (dvojitý ampersand) s bitovým operátorom AND & (jeden ampersand). Sú to úplne odlišné operátory. 
Podobne je to i s logickým operátorom OR (|| a |) a NOT (! a ~).