We continue with our binary course. We have already seen how to represent numbers, positional notation, the concept of base, and digital numbering systems, binary, octal, and hexadecimal.

Of them, **we know that the binary system is “special”**. Otherwise, this course would be about gardening and daisies 🌻, not binary numbers.

But why is the binary system special? Why is the base 2 so important today? Well, mainly due to two reasons that we will see below.

## It is the minimum base to have positional notation

The first thing that makes the binary system special compared to any other base, **is that it is the minimum for positional notation system to work**. So yes, from the beginning, it’s special.

We could have base 10, base 12, base 1374… But you can’t have a base 0 or base 1. The minimum for positional notation to work is 2.

You might think… “well, I could count with only one symbol”. I can take a symbol, for example `0`

, and put as many `0`

as I need. Done! Base 1.

No, you couldn’t, you cheated. You used `empty`

and `0`

. That is a base 2, you have two symbols. To make it clearer, imagine you have 16 memory cells to store your number.

`0000000000000000`

If you can only use `0`

, if nothing can change, you can’t store a number. If you don’t have at least two symbols (`empty`

counts as a symbol), you can’t have a numbering system.

The binary system is the simplest and the minimum necessary to have a numbering system. Therefore, it makes sense that it has a special importance compared to the others.

## It’s easy to make binary machines

On the other hand, the most important reason why the binary system is so relevant, is that **it is very simple to design machines or situations where we can implement a binary system**.

For that, we only need “something”, whatever, can change its state. This state can be almost anything:

- Pen with cap on or off
- Valve open or closed
- Light bulb on or off
- Polarized or non-polarized transistor
- Magnetic sector with magnetic field up or down

With just one of those things, you can already set up a binary numbering system. In fact, we have used several of these systems to make mechanical calculators in the past. Currently, our computers run on transistors, magnetic sectors, and stuff like that 😉.

It is often said that “binary is the language of machines”. The phrase is understood, but I don’t particularly like it. It’s giving it an undeserved romanticism, it’s a bit too saccharine for me. Besides, it’s not entirely true…

What is true is that **it is very simple to build binary machines**. Or at least, it is much simpler than building other types of machines. That’s why the binary system is so widely used.

## Relationship with digital systems

The last reason why the binary system is widely used is because **it fits very well with the concept of digital signals**. In fact, it’s not that it fits, it’s directly the same.

I won’t go into the digital vs analog concept. But digital systems have **advantages over analog ones in terms of noise immunity and state degradation**. Boring, right? Well, that’s what is… should’ve done gardening, and we’d be talking about daisies 🌻.

Suppose you store a number as an electrical voltage between 0 and 5V in some type of cell. If you consider that the cell only has two values, `0`

and `1`

, the cell has to lose 2.5V until its value degrades.

However, if you consider that from 0 to 5V there are 10 values, if you lose 0.5V, you have already corrupted / degraded / lost the original value forever. That’s why you are less immune to signal degradation and noise.

However, digital systems, which operate in binary, also have disadvantages. **The main one is that, as we said, numbers are very very long**. That means you need many cells to store a number. A lot of speed to work with them. A lot of speed to transmit them.

But, since computers are very fast, in the end the advantages generally outweigh other alternatives.