: Why are computers limited to 0s and 1s? Why can’t we use numbers like 2s and 3s for more Efficiency?

297 views

: Why are computers limited to 0s and 1s? Why can’t we use numbers like 2s and 3s for more Efficiency?

In: 17

19 Answers

Anonymous 0 Comments

Because at the most fundamental, lowest level, you’re dealing with electrical current which is either off (0) or on (1).

Anonymous 0 Comments

It’s electric pulses of off and on. (But quantum computing allows for both states simultaneously.)

Anonymous 0 Comments

[removed]

Anonymous 0 Comments

Computers use electricity which is either on (1) or off (0) to represent information and data.

In theory, we could use voltage levels to store 2s and 3s. For example:

0.0 – 0.4v: 0

0.5 – 1.0v: 1

1.1 – 1.4v: 2

1.5 – 2.0v: 3

However, there are small fluctuations in voltage that occur for various reasons, meaning data can be corrupted (so, in the above example if the voltage was 0.4v and fluctuated by 0.1v we could misrepresent a 0 as a 1).

We gain “efficiency” by having multiple wires storing the 1 or 0 at the same time, and being able to read/write multiple 1s/0s simultaneously instead.

Anonymous 0 Comments

We could, and we have in the past. *Ternary computation* (computation in base 3) was used as early as the late nineteenth century, and the ternary computer Setun was built in Moscow in 1958. Ternary semiconductor design research is currently ongoing in South Korea as recently as 2019.

That all said, binary computation is currently dominant because it’s easier and cheaper at the moment to put the components together. Ternary is a subject of interest for exactly the reason you cite: energy and computational efficiency.

Anonymous 0 Comments

Imagine you and your friend have decided to pair up with each other and create a secret ‘code language’. Your code language is going to be controlled by something that can be seen from a distance — the flashing on and off of a light. This code language is going to be something like Morse code, but instead of using length — you only have access to whether the bulb is on or off.

Why don’t you have access to things like leaving the light on longer for more letters? Well, how exactly do you make sure you maintain consistency with how long the light is left on, the strength of the light, etc. getting rid of these extra variables just makes things /simpler/.

Computers are like you and your friend // they communicate based on whether there is electricity (the light) on or not. 0s and 1s provide a very simple system for sending messages that don’t require much extra fiddling like electricity ‘strength’ would.

Anonymous 0 Comments

1’s and 0’s are represented by an “on” and an “off” signal. This allows them to do discrete operations quickly with essentially zero error.

Adding additional numbers requires adding additional ‘states’. It’s easy to tell if something is “on” or “off”, but adding a third or fourth state adds more room for error by bringing your different possibilities closer together.

Analog computers have been made before. These use infinite possible values. They can do all of their math in one ‘step’, but at the cost of precision. The trouble is in large part that their room for error or their speed sucks. See, as you speed them up, the odds of an error increase. The speed of light makes your signals act less like you’d expect and more like waves that travel down the wire, splashing around as they go.

Digital computers have achieved absurdly high speeds with near-zero errors, something which analog computers can’t dream of.

Anonymous 0 Comments

You could represent more distinct values with more distinct voltages, and you could use voltages far enough apart to avoid ambiguity.

But circuitry would be a lot more complex.

With binary you have a positive rail and a negative rail, and they run everywhere. Transistors can easily switch to pull a signal to the positive rail to represent a 1, or the negative to represent a zero. To have more states, you’d need more rails to be available everywhere in the circuitry.

Also, some components depend on a “breakdown” voltage where a reverse voltage causes no current flow until you reach a certain threshold, and suddenly the behaviour changes and you get current flow. With a single voltage system, the voltage is either above or below that threshold, which lends itself very strongly to binary.

Also, some circuitry looks for a rising or falling edge of voltage, ie a transition from 0 to 1 or 1 to 0. The voltage doesn’t necessarily rise or fall cleanly, it can be a little jaggard with small ups and downs along the way, so there’s circuitry to wait a moment and decide if the voltage is *really* moving from 0 to 1. Using a multi-voltage system to represent mutiple numeric values would mean this kind of circuitry would need to figure whether the voltage which has genuinely passed the first voltage is now *really* passing the next level too, or if it’s just a bit of noise. And again for the next level after that.

Anonymous 0 Comments

They do. 100 Megabit Ethernet uses three voltage levels on the cable to transmit information. Gigabit Ethernet uses five levels. This was done because they wanted to attain faster speeds using the same cables as older slower Ethernet versions. But it turned out to be less efficient because they had to add a bunch of error correction overhead to prevent reading the voltages wrong.

Anonymous 0 Comments

They aren’t. Trinary computers were a thing that people especially the Soviet Union experimented with.

In theory you could make a computer with any sort of number system.

Even analogue computers were a thing.

Practically with what we have to work with today binary digital computers are the ones that we have found to be most efficient to make and use.

In the end it come down representing numbers in some way and making things that you can feed those numbers in to get others out.

Representing these numbers as electricity in wires and on and off states of circuits is very easy.

You could build circuits where 4 different voltages represent 0 to 3, but that would make things complicated. You can just use two wires to represent inputs from 0 to 3 instead without having to come up with new tech.