I recently introduced the Decimal Number System, the one we are used as humans, and the Binary Number System, the one machines are used to.

In this tutorial I want to explain how to convert from decimal numbers to binary numbers.

We have a separate process for integers, and for fractions.

## Converting an integer from decimal to binary

A decimal integer can be converted to binary by dividing it by 2.

Take the quotient, and keep dividing it by 2, until you reach zero.

Each time you perform this division, take note of the remainder. Now reverse the remainders list, and you get the number in binary form.

Let’s make an example, I want to convert 29 into binary:

$29\div2 = 14$ remainder 1

$14\div2 = 7$ remainder 0

$7\div2 = 3$ remainder 1

$3\div2 = 1$ remainder 1

$1\div2 = 0$ remainder 1

The binary number representing the 29 decimal is 11101.

Another example, let’s convert 145 decimal into binary.

$145\div2 = 72$ remainder 1

$72\div2 = 36$ remainder 0

$36\div2 = 18$ remainder 0

$18\div2 = 9$ remainder 0

$9\div2 = 4$ remainder 1

$4\div2 = 2$ remainder 0

$2\div2 = 1$ remainder 0

$1\div2 = 0$ remainder 1

The binary number representing the 145 decimal is 10010001.

## Converting a fraction from decimal to binary

The decimal part of the fraction is converted separately like we did above. To convert the fractional part you need to multiply it by 2.

If the integer part of the fraction is still less than 1, assign it a 0. If it’s > 1, then assign it a 1, then keep multiplying by 2 and following this scheme.

You stop when the fractional part is equal to 0.

This might never happen, and you have a periodic fraction. In this case after some point you stop. The more digits the number has, in this case, the more precision it has.

Let’s make an example. I want to convert 0.375 to binary.

$0.375\times2 = 0.75 \implies 0$

$0.75\times2 = 1.5 \implies 1$

$0.5\times2 = 1 \implies 1$

You take the number 0 or 1 that depends on being > 1, and you read it from top to bottom (instead of bottom to top like we do for the integer part). The final binary that translates .375 is 011.

At this point you take the integer part (0) and the fractional part (011) separately, and you compose them.

The number 0.375 converted to binary is 0.011