Logic operations also known as Boolean functions, part of Boolean algebra, are widely used in computer science, engineering and mathematics. There are different words and expression used for them, like logic gates or bitwise operations, but the main principle is the same: performing logical operations on bits (0
and 1
values).
Electronics is now part of nearly every engineering domain, therefore it’s very important that engineers have a minimum understanding of logic, bitwise operations.
Most of the physical calculations are performed with decimal numbers. This is because we use decimal numbers for all the physical values (e.g. 10 A, 250 Nm, 120 km, etc.). Computers use binary numbers to perform calculations. To recall how to convert a decimal number in a binary number, read the article Decimal to Binary Conversion.
In parallel with arithmetic operations (addition, subtraction, multiplication, division), there are also logic operations. These are used to evaluate if a logical expression is either true
or false
.
In our examples we are going to use two symbols A and B, called inputs. Each one of them can have either a true
value (1
) or a false
value (0
). After a logic operations is going to be performed on the inputs, we are going to obtain a result, with the symbol Q, called output. Similar with the inputs, the output Q can only have a true
(1
) or a false
(0
) value.
The logical state/value true
, also called HIGH
, is equivalent with the binary value 1
. The logical value false
, also called LOW
, is equivalent with the binary value 0
.
true | HIGH | 1 |
false | LOW | 0 |
The most common logic operations (also called gates, operators) are:
- NOT
- AND
- OR
- NAND
- NOR
- XOR
- XNOR
Each operation has a symbol assigned (block diagram) and a truth table. The symbol is used for designing graphical diagrams of logical operations. There are different standards for the symbols, the most common being ANSI (American National Standards Institute) and IEC (International Electrotechnical Commission).
The truth table is defining how the logic (logical) operation works, what is the value of the output Q, function of the value of the inputs A and B.
NOT gate
The logic operation NOT is also called an inverter or negation, because it is inverting the boolean value of the input. For example, if A is true
, applying a NOT operation to it will give the result Q as false
. In the same way, if A is false
, applying a NOT gate to it will give the result Q as true
.
Logic gate | ANSI symbol | IEC symbol | Truth table | |
NOT | input | output | ||
A | Q=NOT A | |||
0 | 1 | |||
1 | 0 |
AND gate
The logic operation AND will return a true
value only if both inputs have a true
value. Otherwise, if one or both inputs contain a false
value, the AND gate will output a false
value. We can say that the AND gate effectively finds the minimum between two binary inputs.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
AND | input | output | |||
A | B | Q=A AND B | |||
0 | 0 | 0 | |||
0 | 1 | 0 | |||
1 | 0 | 0 | |||
1 | 1 | 1 |
OR gate
The logic operation OR will return a true
value if at least one of the inputs has a true
value, and a false
value if none of the inputs has a true
value. We can say that the OR gate effectively finds the maximum between two binary inputs.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
OR | input | output | |||
A | B | Q=A OR B | |||
0 | 0 | 0 | |||
0 | 1 | 1 | |||
1 | 0 | 1 | |||
1 | 1 | 1 |
NAND gate
The logic operation NAND gate (negative/not AND) produces a false
output only if all its inputs are true
. The NAND gate can be regarded as a complement of the AND gate. If one or both inputs are false
, the NAND gate outputs a true
result.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
NAND | input | output | |||
A | B | Q=A NAND B | |||
0 | 0 | 1 | |||
0 | 1 | 1 | |||
1 | 0 | 1 | |||
1 | 1 | 0 |
NOR gate
The logic operation NOR (negative/not OR) produces a true
output only when both inputs are false
, otherwise produces a false
output. With other words, if only one or both inputs are true
, the NOR operator outputs a false
result. The NOR gate is the result of the negation of the OR operator.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
NOR | input | output | |||
A | B | Q=A NOR B | |||
0 | 0 | 1 | |||
0 | 1 | 0 | |||
1 | 0 | 0 | |||
1 | 1 | 0 |
XOR gate
The XOR logical operator (pronounced exclusive OR) gives a true
output only when the inputs have different states. If the inputs have the same logical states, both either true
or false
, the XOR gate outputs a false
result. To output a true
result, only one of the inputs has to be true
, the other one must be false
.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
XOR | input | output | |||
A | B | Q=A XOR B | |||
0 | 0 | 0 | |||
0 | 1 | 1 | |||
1 | 0 | 1 | |||
1 | 1 | 0 |
XNOR gate
The XNOR logical operator (pronounced exclusive NOR) is the logical complement of the XOR gate. A true
output is result if the inputs have the same logical state (either both true
or both false
). If the inputs have different logical values, the XNOR gate outputs a false
result.
Logic gate | ANSI symbol | IEC symbol | Truth table | ||
XNOR | input | output | |||
A | B | Q=A XNOR B | |||
0 | 0 | 1 | |||
0 | 1 | 0 | |||
1 | 0 | 0 | |||
1 | 1 | 1 |
All the above logic operators (gates) are summarized in the table below.
A | B | AND | OR | NAND | NOR | XOR | XNOR |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
For any questions or observations regarding this tutorial please use the comment form below.
Don’t forget to Like, Share and Subscribe!