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


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

Because back in the day, it was very easy to come up with an ‘on/off’ switch and much harder to use anything else. That’s the only reason, because they started out with limited technology and couldn’t do anything else.

Anonymous 0 Comments

If a transistor is above a certain voltage level it turns on. If it’s below another level, it turns off. Basing everything on this on and off nature makes things nice and simple. Using intermediate values would mean we’d need to keep components balanced a lot better. And then we’d need to come up with new components. We know how to make a binary adder with binary logic gates. How do you do that with trinary?

Anonymous 0 Comments

someone else will probably have a clearer answer, but computers are made with transistors which are tiny semiconductors, they conduct electricity. and the way they work is by having two states either on or off kind of like a lamp, and those two states can be handled in binary, if we were to use other number bases there will be more states which don’t exist unless you go to quantum computing.

you can think of stop lights, you have red, yellow and green to handle how traffic goes, in transistors we only have green and red (on and off)

Anonymous 0 Comments

> Wouldn’t that exponentially increase the CPU’s throughput by allowing for decisions with greater than two outcomes to be calculated in one cycle?

Yes and no. It would allow the same hardware primitives to represent more information, because rather than just measuring “is the voltage over or below X” and getting a 0 or a 1, we could measure “is it below X or above Y or in between the two”, and get a 0, 1 or 2.

But to do that, those primitives would have to be bigger and more complex, and changing or reading their state would have to be more precise, which means it’d be slower. So overall, you wouldn’t really gain anything from doing it.

One of the obstacles keeping us from making computers faster than they are is that it takes time for the voltage to stabilize in a transistor, when its state changes. And that problem would be worse if we needed the voltages to reach more precise levels. As it is, there’s just one threshold it has to be above, for its value to be counted as a one. So it’s ok if it’s still a little bit wibbly, as long as it isn’t so wibbly it risks taking us across that line.

But if we add more thresholds (below this value means zero, above that and bellow *this* means one, above *that* means two) then we also require the voltage to be controlled more precisely. We can’t allow it to be as wibbly as it was before. And that means we have to be more careful and take a bit more time to set it.

Anonymous 0 Comments

Your components would not only need to be able to be in more than two states, they would need to distinguish more than two kinds of signals coming in. This would rapidly increase the complexity of components, making them larger, more prone to error and degradation, and also more expensive. So in the end the benefits are just outweighed by the downsides.

Anonymous 0 Comments

You’ve got it wrong. We started off using analog computers which basically varied the voltages almost infinetly between two target points (say 1v and 7v) and could change the data being sent by modulating the voltage where the target thinking 1v or 7v should be expected could still have data if the signal bounced to 5v. The trouble with that is there would be a crappy signal with a lot of noise and it wasn’t very accurate. Then we realized digital signals (basically two set values or on/off) gave us better signal quality with more accurate data being transmitted.

It mostly comes down to signal quality and noise.

Anonymous 0 Comments

Because the base of everything is 0 and 1. Working with this, we created the bits and bytes.

The CHEAPEST method is 0 and 1, not just because the voltage but also a third transistor state. And then the fking thing needs to correctly identify each of the three stages.

Then comes the problem of mass adoption.

Also the actual advantage of a higher base is actually pretty small UNLESS you are trying for the borderlines of AI and processing power. We know this because ternary computer system EXISTED and FAILED.

Quite literally, creating a base 3 system is like reinventing the wheel.

Anonymous 0 Comments

Computers that use something other than base 3 are a thing, or at least were a thing.

The Soviets experimented with ternary computers in the early day of digital computing.

An of course analogue computers that don’t use digital at all have also been built.

The way we use computers today with low or no voltage meaning 0 and high current meaning 1 lends itself to binary. You could build something wehre different voltage ranges mean different things, but that wold add complexity.

For example many computer today work with the logic that 0V to 0.8 V is a digital zero and 2V to 5V is a digital 1 and everything in between is not defined.

You would need to shrink the ranges to make room for a third range.

This would require a lot more work that just adding another wire that can also be either 1 or 0 and get your higher numbers by treating a bunch of wires together as a single thing.

Future computers that are based on optical components or quantum stuff may be built on base 3 or 4, or we may just keep using binary because everything else is binary and switching to a new system will be hard.

If you for example do things like polarized light you can easily transmit much more than two states with a single beam of light.

Anonymous 0 Comments

Here are some more reasons not to use intermediate voltages:

A transistor is more power efficient when it is fully on, or fully off.

* When off the transistor has a high resistance but almost 0 current runs through it, which effectly means the transistor is not heating up, and almost no power consumed.
* When on the transistor has an almost zero resistance and large current, A low resistance also means the transitor is hardly heating up, and almost no power consumed..
* But when a transitor is half-on, there is a current and a resistance and the transitor is heating up and power is consumed.

The settling time for the voltage to get to a certain level is non-linear, meaning that the start and end is slow, having multiple voltages means that clock speed needs to slow to wait for the electronics to produce a stable voltage.

Sometimes the calculations can be done quicker with more intermediate voltages, but with just two voltages we could create more of the smaller electronics in the same space, because of lower heat and power usage and run it at a faster clock speed.

Anonymous 0 Comments

Because binary information is the most basic and fundamental form of information. Something exists, or not, without any in-between state.

If you think about it, distinguishing between something and nothing is fairly easy without further information. More nuanced ranges of values require calibration an some sort of way to know what each voltage means. This is quite error-prone and difficult to generalize to all sorts of information processing problems. In short, it is easier and cheaper to add bits to the bitstream if you require more information, rather than use another base entirely.

It is also very flexible to move the information around different systems, as it is easy to build a system that can distinguish between something and nothing, rather than dealing with values that are more vague.

An interesting case of non-binary electronic ‘computers’ are analogue synthesizers. These work with voltage ranges to define notes. They are not perfectly accurate, but as a musical instrument they don’t need to be. One of the reasons why they still have a fan base is how they are a bit fiddly and unpredictable, which makes them fun to experiment with.