Why do computers use binary? The human world is practically defined by the number 10. Ever since we evolved to be competent enough to manipulate numbers, we have almost exclusively used a number system in base 10, *cross-culturally*. But computers use base 2. Why base 2 specifically? There are an infinite number of bases to use– some that make more sense to us than others– but we decided to go with base 2. In any computing class, the teacher likely launches into discussions of binary addition and subtraction and Boolean algebra without a second thought. It’s assumed that computers use binary.

I’m near the end of my second year of college as a *computer* engineering student, and not one professor I have had has explicitly told us the reason why computers are in base 2. Maybe, it’s because the reason is so simple that it is implied. But, an explicit discussion would have been nice. The reason that almost all computers today use binary is due to *simplicity* on a design front. In binary, you only have to deal with two digits, or *two states*: 1 or 0, on or off. With any base of more than 2, you have to start manipulating numbers with many more states, which increases complexity. Boolean algebra lets us manipulate these two states easily. Operators have defined input and output mappings. With even a ternary (base 3) system, you would have to design a new series of much more complicated operators to perform simple computations like NOT, AND, or OR.

But how do computers store these 1s and 0s? Through electrical signals, or **voltages**. Circuits are designed with cutoffs for HIGH and LOW voltages, representing a 1 or a 0. It’s a simple binary switch using electricity. If you had a decimal system, you would have to define voltage cutoffs from 0 all the way to 9. Ten levels of voltages. It would be much harder to define cutoffs when the voltages are not exact. A 5 could easily be interpreted as a 6 and vice-versa. It would be an electrical engineer’s nightmare. Imagine having a light switch with 10 different positions. It would be pretty hard to get exactly the brightness you want. So we’ve streamlined it into a switch. On or off. Yes or No. Simple.

Computers are designed using a binary system for their simplicity, designability, and manufacturability. It’s easy to encode “ons” and “offs” into electrical systems. It’s easy to manipulate two states with Boolean algebra. Could we theoretically build a ternary or decimal computer? Probably. It would be really hard and not worth the effort. Computers don’t have feelings. They are not humans. They don’t like decimals better than binary. To the computer, everything is a yes or a no. It will continue to do what it was programmed to do. And without any clear benefits of larger-base computing systems, there’s no reason to change anything.