Arduino

Reference Language | Libraries | Comparison | Changes

# Boolean Operators

These can be used inside the condition of an 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

- & (bitwise AND)
- | (bitwise OR)
- ~ (bitwise NOT
- if

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

### Share

### This link has expired.
Please re-subscribe to our Newsletters.

### Subscribe to our Newsletters

Email

Please enter a valid email to subscribe

Arduino Newsletter
Arduino Store Newsletter

### Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy

###### Newsletter

- ©2015 Arduino
- Copyright Notice
- Contact us
- About us
- Careers