# Binary codes

In modern times, once the “digital revolution” came along, there was a need for a new coding system which would be suitable for computers and other electrical-digital devices. The system that was chosen was the binary system, in which all numbers are coded using only the digits 0 and 1. Binary symbology is very important in the computer world. The digits 0 and 1 are called bits. They are translated into electric current flows – the bit 1 symbolises the fact that there is a flow, and the bit 0 symbolises that there is no flow inside the computer. The sequence of these electric symbols is the “language” of the computer, and using it the computer can perform the instructions we give it.

## The binary number system

We write numbers today as ‘strings’ made up of the digits 1,2,3,4,5,6,7,8,9,0. Each digit takes on a different numeric value according to its position. In the number 101, for example, the numeric value of the lefthand 1 is 100, while the numeric value of the righthand 1 is 1.
Mathematically speaking, the positional decimal notation that we use determines the value of the number according to powers of ten. Digits written in the units column, the righthand-most digit, retain their numeric value because they are multiplied by 1, which is ten to the power of zero (10^{0}). The numerical value of the digits in the next column to the left, the ‘tens’ column, is that digit multiplied by ten to the power of one (10^{1}), i.e. 10. and so on.
So, the numeric value of the string of digits: 973 is really:

9 x 10^{2} + 7 x 10^{1} + 3 x 10^{0} = 9 x 100 + 7 x 10 + 3 x 1 = 973.

In the binary system, the location of the digits determines their value according to powers of 2. The binary system is a base 2 system, using only the digits 0 and 1. These digits are multiplied by 2^{0}=1 when in the column on the extreme right, by 2^{1}=2, when in the next column to the left, by 2^{2}=4, when in the next column to the left and so on.

Here is the binary table for the first 32 numbers:

Decimal | Binary |
---|---|

0 | 00000 |

1 | 00001 |

2 | 00010 |

3 | 00011 |

4 | 00100 |

5 | 00101 |

6 | 00110 |

7 | 00111 |

8 | 01000 |

9 | 01001 |

10 | 01010 |

11 | 01011 |

12 | 01100 |

13 | 01101 |

14 | 01110 |

15 | 01111 |

16 | 10000 |

17 | 10001 |

18 | 10010 |

19 | 10011 |

20 | 10100 |

21 | 10101 |

22 | 10110 |

23 | 10111 |

24 | 11000 |

25 | 11001 |

26 | 11010 |

27 | 11011 |

28 | 11100 |

29 | 11101 |

30 | 11110 |

31 | 11111 |

## Translating binary to decimal and vice-versa

To translate a binary number into decimal, multiply the rightmost digit by 1 (2^{0}), the second digit to the left by 2 (2^{1}), the third digit to the left by 4 (2^{2}), the fourth digit by 8 (2^{3}) and so on.
Example: the number 1011 in binary is the decimal 11:

1 x 2^{3} + 0 x 2^{2} + 1 x 2^{1}+ 1 x 2^{0} = 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1= 11

There are a few ways to translate a decimal number to binary. The easiest way is to look for the closest power of 2, write a 1 in the corresponding position and subtract from the original number. Continue doing this until you reach zero.
Example: the number 36 in binary is: 100100:
The closest power of 2 to 36 is 32 which is 2^{5}, so we know that the binary number will be 6 digits long with a 1 in the sixth column from the right: 1-----.

36 - 32 = 4 which is 2^{2}, so the next ‘1’ bit will be positioned in the third column from the right: 1001--.

4 - 4 = 0, so we have finished and the rest of the bits are zeroes: 100100.

© Davidson Institute of Science Education, the educational arm of the Weizmann Institute of Science