Why do computers work in base 2, as opposed to base (higher number here)?

539 views

I realise (/think?) that CPUs essentially treat two different voltages as a 1 or 0, but what stops us from using 3 or more different voltages? Wouldn’t that exponentially increase the CPU’s throughput by allowing for decisions with greater than two outcomes to be calculated in one cycle? This would presumably mean that a LOT of stuff written for base 2 would need to be updated to base 3 (in this example), but I can’t imagine that’s the only reason we haven’t done this.

I feel like I’ve explained that poorly, but hopefully you get the gist.

In: 12

20 Answers

Anonymous 0 Comments

At the most basic level, your computer is built out of transistors. It’s easiest to think of a transistor as a voltage controlled switch, where the voltage present at the gate terminal determines if the current is allowed to flow between the source and drain terminals. This maps nicely onto binary & the boolean logic most computers are built with.

However, that’s not actually true: transistors are voltage controlled *resistors*, with the voltage at the gate terminal determining the resistance between the source and drain terminals. This means that it is possible to build circuits that map different levels of voltage onto different mathematical values, however, this isn’t really done in practice, as 1) any logical system that can be implemented with more than 2 values can always be implemented with just 2, and 2) maintaining consistent voltage levels inside a circuit is actually a fairly hard problem even with just 2 voltage levels, and it gets worse with multiple values.

It also wouldn’t adjust the throughput. The limitation of the results produced isn’t in the underlying data, but in how the results are calculated. Comparisons are calculated as subtraction: If A – B = 0, then A & B must be equal. If the result is positive, then A > B, and if negative, the A < B. This means that in 90% of cases, the computer is already capable of producing the kind of results you are thinking of. The remaining few cases tend to best implemented as fuzzy logic problems anyways, so any computer that can deal with floating points already can do that kind of stuff. Switching to a three value system isn’t actually going to give the computer any new capabilities or make it faster, so there is no reason too.

You are viewing 1 out of 20 answers, click here to view all answers.