A question I couldn't answer
I've been reading Disarming Code by Jonathan Levin. The book starts with binary, hexadecimal, words and dwords. I realized something uncomfortable: I knew how to convert decimal to binary, but I couldn't answer a much simpler question.
Not "how do I convert 150 to binary?" Not "what is a dword?" But why, out of every number system humans have invented, the one with only two symbols became the foundation of every computer on Earth.
I could do the math. I couldn't explain the physics.
Imagine you had to build the first computer.
You're at the beginning. No conventions yet. No standards. You get to choose how the machine represents information.
You could pick almost anything:
Decimal feels natural. We have ten fingers. Base 12 divides nicely. Hexadecimal is compact. Binary looks absurdly limited. Only two digits. Zero and one. Why would anyone choose the smallest one?
The physics problem
To answer that, we need to leave the textbook. In a perfect world, you send a voltage and receive exactly what you sent. Real circuits never work that way. Signals travel through wire, silicon, and air. Along the way, the value drifts.
Three forces are always working against you:
Random fluctuations in the signal. Electrons don't move in straight lines. Every reading wobbles slightly around the true value.
Resistance increases with temperature. Components expand, thresholds shift, and the same circuit behaves differently after running for an hour.
Nearby wires and components leak electromagnetic energy into each other. A signal meant to be 3V picks up ghost voltages from its neighbors.
None of this matters much if you only need to tell "high" from "low." It matters enormously if you need to tell 5V from 4V from 3V.
Watch what happens in practice:
Still a five?
Still a three?
Now connect this to the number system choice. A decimal machine needs to distinguish ten voltage levels, one for each digit 0 through 9. That means dividing the available voltage range into ten narrow bands. Each band gets a thin slice of the spectrum, with almost no margin for error.
A small drift from noise, a shift from heat, a spike from interference, and a 5 becomes a 4. Or a 6. The receiver can't tell. The more levels your system requires, the tighter each level must be, and the more fragile the whole design becomes.
Ideal vs. realThe engineering trick
Instead of asking a circuit to distinguish ten levels, ask it to distinguish two.
Pick a threshold in the middle. Everything below it means one thing. Everything above means another.
4.81V? Clearly above the line. That's a 1. 0.3V? Clearly below. That's a 0. You don't need the voltage to be exact. You need it to be on the right side of the line.
This is where logical levels are born. Not numbers in the abstract, but physical states with enough margin to survive the real world.
Meet the transistor
Binary logic didn't wait for silicon. Decades before the transistor, engineers were already building computers out of mechanical relays and vacuum tubes. A relay is either open or closed. A tube is either conducting or not. Two states, naturally.
The transistor arrived in 1947 and made those switches smaller, faster, cheaper, and far more reliable. But it didn't invent the idea. It scaled it.
At the level that matters here, a transistor does one thing:
It works like a switch.
Switch → bitThink of a light switch on the wall. Off. On. No in-between that the circuit has to interpret. No "sort of on." Each generation of hardware gave engineers a physical object that could hold one of two stable states, and hold it reliably, millions of times per second, for years.
From switches to information
One switch gives you two states. Add another, and the combinations multiply.
Combinations grow fastWe are not storing numbers yet. We are creating combinations. Each pattern of on and off is a distinct piece of information: a letter, a color, an instruction, a memory address. The number of possible patterns grows exponentially with every switch you add.
Binary isn't the number system we chose because it's elegant. It's the natural unit of a machine made of switches.
A computer doesn't understand numbers
This is the part that changed how I think about all of it.
When you write 150 in your code, the computer never sees "one hundred and fifty." It sees a pattern of switches:
We give that pattern meaning. We agree that this particular arrangement of switches represents the number 150, or the character 'n', or one pixel of red. The hardware doesn't care. It only knows on and off.
Binary didn't win because of math
Leibniz admired binary for its symmetry in 1703. That admiration came centuries before anyone built a transistor, or even a relay computer. Binary existed on paper long before it existed in silicon. The math is beautiful. But beauty didn't put a chip in your pocket.
What did: a system simple enough that real wires, real heat, and real noise couldn't easily corrupt it. Two states. Wide margins. Repeatable, billions of times per second, for decades.
Others tried
Binary wasn't the only option on the table. Engineers experimented with other bases. The results are instructive.
ENIAC stored and processed numbers in decimal. Its arithmetic used ten-position ring counters, one state for each digit 0 through 9. It ran on 17,468 vacuum tubes.
It worked. It also broke constantly. A single tube failure could corrupt a calculation, and with ten states to keep stable, debugging was slow and painful. Every machine that followed moved toward binary logic. Not because decimal was wrong in theory, but because it was too fragile in practice.
The Soviet Union built a ternary computer. Base 3. Three states per switch: negative, zero, positive. On paper, ternary is more efficient. You represent larger numbers with fewer digits.
Only about fifty Setun machines were ever built. Three stable states are significantly harder to manufacture and maintain than two. The math was elegant. The hardware wasn't cooperative. The project was abandoned.
Both cases tell the same story from different angles. ENIAC showed that more states means more fragility. Setun showed that even when the math favors a different base, physics pushes back. Binary won not because it was the only option, but because it was the most buildable one.
Mental model
If this article rewires one thing, let it be this:
Binary is a numbering system.
Binary is the consequence of building reliable circuits in an imperfect world.
Conversion exercises still matter. But they describe the notation. They don't explain the origin.
Three sentences to keep
A computer doesn't speak binary. It behaves electrically. Binary is our interpretation of that behavior.
Binary wasn't invented because it is simple. It survived because it is reliable.
Every bit is just a physical switch pretending to be mathematics.
Further reading
- Jonathan Levin, Disarming Code. Where this question started.
- Charles Petzold, Code: The Hidden Language of Computer Hardware and Software. From Morse code to microprocessors, one layer at a time.
- Paul E. Ceruzzi, A History of Modern Computing. Context on ENIAC, early architectures, and the shift to binary.
What's next
We now know why there are only two states. The next question is practical: once you accept that the machine only knows on and off, how should a human actually read it?