Tag Archives: logic

Boolean Logic

We talked last time about the conveniences in implementation that can be had by using digital electronic signals for calculations rather than analog signals. But I want to get a little bit more into what the digital system means for how calculations are performed, which means talking about what Boolean algebra and logic are.

But first let’s talk about algebra. Fundamentally, algebra is taking a set of elements and applying operations to those elements. A straightforward example would be the arithmetic operations of addition, subtraction, multiplication, and division on all integers. If you take algebra in school, you study many more complex functions that can operate on various numbers, and you get into the symbolic representation of numbers (i.e. solving for x, where x is a number whose value you want to know).  So algebra is essentially an abstract framework for mathematics, one that allows you to see and describe rules and patterns more easily.

But it’s also possible to define specific sets of numbers or elements to work with, or to define a limited number of operations, and construct specialized algebras. That’s the basis of abstract algebra, a really cool math topic that I strongly suggest learning more about! And Boolean algebra is essentially a form of abstract algebra that developed in parallel to abstract algebra as a formal field. It was developed by George Boole, a mathematician and logician who wanted to establish an algebraic way of performing logical operations. Boole examined the operations that were possible for a set of only two values, the so-called ‘truth values’ of 0 and 1 (or false and true). His 1854 book examined truth tables for these operators, and we’ll look at a couple to get a feel for them.

x y xANDy
0 0 0
0 1 0
1 0 0
1 1 1

Above is the truth table for an operation called AND. Given inputs x and y, which can have the values 0 or 1, the output xANDy is 1 only if both x and y are 1. So the left two columns list the possible input values for x and y, and the rightmost column shows the output xANDy for each of those combinations. For example, the last line is a way of displaying the equation (1)AND(1) = 1.

x y xORy
0 0 0
0 1 1
1 0 1
1 1 1

This truth table is for OR, an operation that returns 1 if either or both inputs have the value 1.

The real technological relevance of Boolean algebra came when Claude Shannon realized in 1937 that it could be used to analyze and predict the operation of electrical switches. This can be used to develop a combinatorial logic to analyze very complex circuits whose output depends solely on their inputs, which is the main theoretical tool behind digital electronic circuits today!