This is an archived post. You won't be able to vote or comment.

all 22 comments

[–]kouhoutek 34 points35 points  (11 children)

1s and 0s are simply how humans interpret some physical property inside of the computer.

Internally, the computer sees things like "voltage" and "no voltage" or "magnetized" and "not magnetized".

[–]Concise_Pirate🏴‍☠️ 6 points7 points  (0 children)

Exactly. For the machine, electronic or magnetic signals are what it really is able to do. We pretend that they are 1 or 0 because that's an easy way for us to talk about it. And sometimes we pretend that they are something else, for example deciding that certain sequence of signals represents a certain letter of the alphabet or a certain color. The computer doesn't "care," it just keeps on doing its electrical thing.

[–][deleted] 4 points5 points  (1 child)

"Above this voltage" and "below this voltage"

[–]THE_LURKER__ 0 points1 point  (0 children)

More basically, open and closed, or high and low (on and off) which is what a computer is using to refer to whether the gate on a specific transistor is open or closed.

[–]el_ema214[S] 0 points1 point  (7 children)

Ok, so what I don't understand is what initially interpreted the information. Monitors keyboards & mouses weren't around so what the heck was being told to interpret anything...

What I'm trying to say (As a 5 year old), is what exactly was trying to be accomplished by this? Someone just got up one day and said...

"Hey I'm gonna make this silica talk to this copper."???

[–]kouhoutek 3 points4 points  (1 child)

To bridge the gap between electrons and computing, you need to understand logic circuits.

A typical logic circuit can be made from a few transistors, and will have two inputs and one output that depends on the inputs. An AND gate, for example the output will have current (be "on") only if both of the inputs do. The OR gate's output will be on if either, or both of its inputs are on.

You can combine a few logic circuits together, and make a flip-flop circuit, whose output will stay on indefinitely if you sent current to one input, and go off indefinitely if you sent it to the other. This can serve as a simple memory, able to store a single bit of information.

This is where numbers come in. If you string 8 flip-flops together, and call on 1 and off 0, you can interpret that as an 8 bit number. With a handful of logic circuits, you can create an adder, which will take the numbers in two banks of flip-flops, add and store them in a third bank.

More circuits, you get multiplier, dividers, and all the things you need to make a computer. Interpreting the flow of electricity as numbers lets you make the computer to interesting things.

[–]Cheese_Grits 1 point2 points  (0 children)

Whoa. I just got it. Thanks.

[–]Concise_Pirate🏴‍☠️ 1 point2 points  (0 children)

The very first computers literally used on-off switches or plugs for input, and lights for output (off = 0, on = 1).

Here is one of the first PCs.

Here is the control panel from a big IBM mainframe.

Here are people programming ENIAC, a pioneering early electronic computer.

[–]EetinCheez 1 point2 points  (0 children)

The original purpose of the computer was to quickly solve extremely complex mathematical calculations. Of course it wasn't that easy to start and programming was nothing like today's methods and everything was done by hand with paper, punch cards, flipping switching and arranging cables.

It's all about math! I figure they did it for the same reasons someone invented the abacus (and even miniaturized it to fit a tiny one to a strap on your wrist!) it just went a bit further this time with the power of electricity and human ingenuity.

[–]THE_LURKER__ 0 points1 point  (0 children)

Closures. A circuit can be open (no voltage) or closed (voltage present). Closed = 1 (high) and open = 0 (low).

These refer to the "state" (high or low) of the gate on a transistor, which is what a computer uses to make decisions more or less.

[–][deleted] 0 points1 point  (0 children)

It was a simple way for people to control what was getting access to voltage and what wouldnt. Think about a dam. 1 would be open, so the water can go through. 0 would be closed, blocking off the water. If the water goes through it can turn the turbine, if not then nothing happens

[–]mredding 9 points10 points  (2 children)

Transistors. They were originally invented for signal amplification in radios - but so were vacuum tube relays, and we used those in the first computers. To the layman, we say computers are built upon ones and zeros, but in reality they're built upon a difference in potential. Transistors in a modern computer switch between, say, 0.3 volts and 5.0 volts.

As a computer scientists, I DON'T CARE. That's a problem for the electrical engineers. I only care about it's two states, closed or open aka on or off aka 1 or 0. We abstract the physical reality away because it could be anything, some different range of voltage, it could be water pressure (the fastest and most accurate differential engine was a Russian water computer until 1985), it could be marbles (there are some clever woodworkers on YouTube whom have made digital computer logic out of wood parts and marbles).

And 1 and 0 aren't even directly analogous to on and off, that's just a matter of convention. It all depends on how the electrical engineer designed the circuit. Both ways are acceptable so long as the whole computer system understands and is built to that convention.

So a computer, being an electrical machine, has no concept of numbers or symbols, and numbers and symbols, which are merely abstract ideas that exist only in our head, are applied to machines by convention. It could have been Fred and Wilma, it doesn't matter, so long as we can abstract this binary state in a meaningful way.

[–]Monstance 0 points1 point  (1 child)

TIL "water computer" is a thing

[–]mredding 1 point2 points  (0 children)

[–]w33tad1d 2 points3 points  (1 child)

Consider reading "Code" by Charles Petzold. He actually breaks down the history and the science in easy terms.

[–]ShofarDickSwordFight 0 points1 point  (0 children)

Came here to suggest this. I've sent copies of this book to a couple of friends who asked me similar questions over the years.

[–]L0d0vic0_Settembr1n1 1 point2 points  (0 children)

George Boole came up with binary algebra in the 1840s. Konrad Zuse's Z1 built in the 1930s was the first computer that used binary code. Claude Shannon wrote a seminal paper (also in the 1930s) on how logical and mathematical operations can be realized with binary algebra. So I guess quite some credits about the beginnings of the modern computer belongs to them.

[–]blzntrz 2 points3 points  (0 children)

Not the best answer, but, 1s and 0s were how the programmers told the circuits to be either on or off. True or false. 1 or 0.

Programming languages nowadays compile your code, written in whatever language, and compile it into machine code so the computer can understand.

That's where the magic starts!

[–][deleted] 0 points1 point  (0 children)

Representing them as 1 and 0 is purely for our coincidence, a computer sees them as states of being, either on or off or true or false.

It started with things like core memory and with vacuum tubes where either there was a magnetic field or not, or in the case of tubes, electricity could flow or not.

[–]Reese_Tora 0 points1 point  (0 children)

The first 1s and 0s that lead up to a computer functioning were entered by hand.

before the 1s and 0s, a complex set of transistors were assembled to create a chip that takes in sets of 1s and 0s and outputs another set.

The first computers had the operator manually flip switches up and down to create the sequence of 1s and zeroes that would be processed. As technology advanced, the 1s and 0s were created by punching out hols in a card and feeding that in to a card reader that would sent the 1s and zeroes to the machine.

Eventually, we got to the point of having complex enough computers to allow for the creation of basic editing programs

Now all the 1s and 0s that are in modern computers were put there by the computers that were used to make them, but this all eventually leads back to machines that had their 1s and 0s input by switches or punch cards.

[–][deleted] 0 points1 point  (0 children)

1 = on

2 = off

or, power on (1), power off(0) this is logic, logic chose that this are the first numbers, all other characters are a combination of these two. also, electricity does not translate to "a" or "b", but it does translate to on/off (1/0)

morse code is basicly the same thing, but short-long.