Boolean Algebra

True or False?


What's Boolean Algebra?

Boolean Algebra is one of the fundamentals of Computer Science, Signals Processing, Information Theory, and more.

This mathematical field differs slightly from all others. While classic algebra works with numbers, boolean algebra concerns conditions and deals with bits.

A bit is a fundamental unit of a logical state, which can be either 0 or 1. As you probably know, boolean algebra uses the binary system. 0 = false, while 1 = true.

Starting from here, we can now describe Boolean Algebra operators, and later some examples in some programming languages.

NOT

The Negation is a unary operator. It affects a single value, switching its value. So, if A = 1, not A = 0.

The negation operator is called NOT. We can denote it with the tilde ~, the ¬ symbol, or the exclamation point !.

Using a truth table can help you visualize its meaning.

Anot A
01
10

AND

The Logical Conjunction, commonly noted as AND, is a binary operator.

Differently from unary operator, binary operators need to work with two variables.

The Logical Conjunction states that if two variables equal to true, their result will also be true. Any other case will be false.

We can denote the AND operator with the ∧ symbol or with &&.

You can think of the Logical Conjunction as a multiplication. If you multiply anything by 0, the result will be 0.

ABA and B
000
111
010
100

Graphically speaking, a Venn diagram can easily describe this concept. Sure enough, this operator denotes an intersection of two sets.

If you have no clue what I am talking about, go look for Set Theory.

AND - Venn Diagram

OR

The OR operator is another binary operator.

The OR operator declares that if two variables equal to true, the result will also be true. Any other case will be false.

We can denote the OR operator with the ∨ symbol or with ||.

ABA or B
000
111
011
101

Differently from the AND operator, you can think about the OR Operator as a sum. So, any two statements that sum to 1 will be true, else false.

OR - Venn Diagram

NOR

There's not much to say about NOR. It is the exact opposite of the OR operator.

It's the same as using the NOT operator on the OR results - NOR = NOT OR.

ABA or B
001
110
010
100

NOR - Venn Diagram

XOR

The XOR operator, extended to Exclusive OR is similar to the normal OR operator. The main difference is that it results in false once the two statements are both true.

ABA or B
000
110
011
101

XOR - Venn Diagram

Some examples

Let's now see an example in some programming languages.

When programming, boolean expressions can help you with conditionals. At a higher level, boolean maths can be applied to actual math problems and programs.

JavaScript

const password = "example";
const isLogged = true;

// AND && + NOT !
if ( !isLogged && (password == "example")) {
    console.log("Welcome back!");
} else if (isLogged) {
    console.log("You are already logged in!")
} else {
    console.log("Incorrect password!")
}

C#

string password = "example";
bool isLogged = true;

if ( !isLogged && (password == "example") )
{
    Console.WriteLine("Welcome back!");
}
else if (isLoaded)
{
    Console.WriteLine("You are already logged in!");
}
else
{
    Console.WriteLine("Incorrect password!");
}

Python 3

passoword = "example"
isLogged = True

if not(isLogged) and password == "example":
    print("Welcome back!")
elif isLogged:
    print("You are already logged in!")
else:
    print("Incorrect password!")