# #1 Data representation in computers

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 decimal 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 binary is 142 in decimal.

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 binary.
This time the weights are powers of 2 because binary. 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.