Let’s say the computer’s memory is built out of transistors. This electronic part can store electric charge or not, so state 1 or 0. That is the reason why it’s easier to store only 1 or 0 rather than all digits we use in our **dec**imal system (0 1 2 3 4 5 6 7 8 9). Everything in computer is stored as number is specific way.

How is number like 142 represented in binary system consisting only of bits 1 and 0?

Computers use a group of 8 bits called byte. For example 10001110 in **bin**ary is 142 in **dec**imal.

In **dec** system each position in number has different weight. Weights are powers of 10. 10^0 = **1**, 10^1 = **10**, 10^2 = **100**, 10^3 = **1000**,… So number 142 is shown here:

Weights | 100 | 10 | 1 |

Number | 1 | 4 | 2 |

Sum it: 1*100 + 10*4 + 1*2 and get 142. Something similar is done also in **bin**ary.

This time the weights are powers of 2 because **bin**ary. 2^0 = **1**, 2^1 = **2**, 2^2 = **4**, 2^3 = **8**

Weights | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |

Number | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |

Sum this: 1*128 + 1*8 + 1*4 + 1*2 and you get 142.

The save process can be done vice versa. Let’s convert number 180 from **dec** to **bin**.

We start with the largest power of 2 which is smaller than our number.

180 has 128 **1** times, 180 – 128 = 52

52 has 64 **0** times, 52 stays

52 has 32 **1** times, 52 – 32 = 20

20 has 16 **1** times, 20 – 16 = 4

4 has 8 **0** times, 4 stays

4 has 4 **1** times, 4 – 4 = 0

0 has 2 **0 **times, 0 stays

0 has 1 **0** times, 0 stays

Then write down 1 and 0 and we get **10110100** which is 180 in **bin**.