Wikijunior:How Things Work/Binary Numbers

From Wikibooks, open books for an open world
< Wikijunior:How Things Work
Jump to navigation Jump to search

What is Binary?[edit | edit source]

Most people use ten different digits — 0 to 9 — to write any number. For example, 15, 987630, 100, 99, 6 and so on.

This is called the decimal number system or base ten, which means that this number system has ten different digits to construct a number, as many as (most) people have fingers.

But computers are not built with the decimal number system. This is because computers are built with electronic circuits, each part of which can be either on or off. As there are only two options, they can only represent two different digits, 0 and 1. This is called the binary number system, or base two. ("Bi" means two.) All the numbers are constructed from the two digits 0 and 1. A digit in binary (that's a 0 or a 1) is also called a bit – short for binary digit.

Computers use this number system to add, subtract, multiply, divide and do all their other math and data. They even save data in the form of bits.

A bit by itself can only mean zero or one, so to represent bigger numbers (and even represent letters) they group them together into chunks. Eight bits make a byte, and computers use as many bytes as they need to store what we need them to. Modern computers have many billions of bytes of storage.

This book will teach you how binary works, why computers use it, and how they use it.

Why do we use Binary?[edit | edit source]

In normal math, we don't use binary. We were taught to use our normal number system. Binary is much easier to do math in than normal numbers because you only are using two number-symbols — 1 and 0 instead of ten number-symbols — 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.

With just two number-symbols, you can count quite high using things that just go "on" or "off", "yes" or "no". For example: How high can you count with your fingers? Most people would say 10. If you count on your fingers with binary you can count to 31 with one hand! With two hands, using binary, you can count up to 1023!

Computers use binary because they can only read and store an on or off charge. So, using 0 as "off" and 1 as "on," we can use numbers in electrical wiring. Think of it as this — if you had one color for every math symbol (0 to 9), you'd have ten colors. That's a lot of colors to memorize, but you have done it anyway. If you were limited to only black and white, you'd only have two colors. It would be so much easier to memorize, but you would need to make a new way of writing down numbers. Binary is just that — a new way to record and use numbers which is true.

Binary Notation[edit | edit source]

In school, you were taught that we have a ones, tens, hundreds columns and so on. Each column is worth ten times more than the next one. If you haven't seen it before, this columns idea looks like this:

Decimal column 10,000 1000 100 10 1
Digit 5 4 9 3 6
Value 5 × 10,000 4 × 1000 9 × 100 3 × 10 6 × 1

So the decimal number 54,936 is equal to 5×10000 + 4×1000 + 9×100 + 3×10 + 6×1.

Binary also has columns, but instead of multiplying by ten, they multiply by two each time:

Binary column 128 64 32 16 8 4 2 1
Bit 1 0 1 1 0 1 0 1
Value 1 × 128 0 × 128 1 × 32 1 × 16 0 × 8 1 × 4 0 × 2 1 × 1

So the binary number 10110101 = 1×128 + 1×32 + 1×16 + 1×4 + 1×1 = 181 in decimal.

This method lets us read binary numbers, but how do we write them? One way is to write a list of all the numbers starting from one and working upwards. Just as adding 1 to 9 in decimal carries over to make 10, and 1 + 99 makes 100, in binary when you add one to one, carry a one over to the next place on the left. Follow along with this table to see how that works.

Base-10 Binary
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
16 10000

You'll notice that the values 1, 2, 4, 8, 16 only need one one bit and some zero bits, because there's a column with that value and we just have to set the bit in that column to one.

Base-10 version Binary
1 1
2 10
4 100
8 1000
16 10000

Have you noticed a pattern in writing binary numbers? Study the table for 1 to 16 again until you understand why in binary,

"1 + 1 = 10" and "1 + 100 = 101"

in your own way.

You've probably got lots of practice reading decimal but none yet reading binary, so it's normal for reading binary to feel quite slow.

Translating to Base-10[edit | edit source]

The binary number for 52 is 110100. How do you read a binary number?

  1. You look at the ones column. Since it has a 0 in it, you don't add anything to the total.
  2. Then you look at the twos column. Nothing, so we move on to the next column.
  3. We have a 1 in the fours column, so we add 4 to the total (total is 4).
  4. Skipping the eights column since it has a 0, we have come to a 1 in the sixteens column. We add 16 to the total (total is 20).
  5. Last, we have a 1 in the thirty-twos column. We add this to our total (total is 52).

We're done! We now have the number 52 as our total. The basics of reading a base-2 number is add each columns value to the total if there is a 1 in it. You don't have to multiply like you do in base-10 to get the total (like the 5 in the tens column from the above base-10 example), which can speed up your reading of base-2 numbers. Let's look at that in a table.

Binary digit Column Binary digit's value
0 1 0
0 2 0
1 4 4
0 8 0
1 16 16
1 32 32
Total 52

Now let's look at another number.

Finding a Mystery Number[edit | edit source]

The binary number is 1011, but we don't know what it is. Let's go through the column-reading process to find out what the number is.

  1. The ones column has a 1 in it, so we add 1 x 1 to the total (total is 1).
  2. The twos column has a 1 in it, so we add 1 x 2 to the total (total is 3).
  3. The fours column has a 0 in it, so we add 0 x 4 to the total (total is still 3).
  4. The eights column has a 1 in it, so we add 1 x 8 to the total (total is 11).

We are done, so the total is the answer. The answer is 11! Here are some more numbers for you to work out.

1

101=

2

1111=

3

10001=

4

10100=

5

101000=

Storing text[edit | edit source]

Computers store everything in binary, including text. To do this, every letter, every punctuation character, in fact a very large number of the symbols people have ever used, has been given its own number in a system called Unicode.

For example, if your name is "George" then the computer can store that in binary just by storing the number for "G", then for "e", and so on. The most common symbols in American English, like letters without accents, can be stored with just one byte. Other symbols, like "£" and "¿", need more than one byte as they've been given a bigger number. A few examples:

  • G is stored as 71, which is "0100 0111" in binary
  • e is stored as a hundred and one, which is "0110 0101" in binary.

The whole word "George" looks like:

0100 0111 0110 0101 0110 1111 0111 0010 0110 0111 0110 0101

While this might look like gibberish, see if you can find the rest of the letters in that and what their decimal representation is!

Bits and Bytes[edit | edit source]

A bit defines a binary (dual) state (On or Off, 0 or 1, True or False) which can not be broken into more smaller units. The name is short for binary digit, like the '1' in the binary number '10' (representing decimal '2') in a similar fashion to how a decimal digit (number that can have 10 distinct values in the default decimal base reference) work, for instance the '9' and '8' that are part of the '98' decimal number.

A byte is eight bits put together or a group of 8 bits. Why eight? It has to do with remembering letters, which you shall read later.