Programovanie‎ > ‎Operátory‎ > ‎

Logické operátory

Logické operátory sú && || ! postupne and or 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 ~).