Get the last digit of the binary number, call this digit the currentDigit.

Make a variable, let's call it power. Set the
value to 0.

Multiply the current digit with (2^power),
store the result.

Increment power by 1.

Set the the currentDigit to the previous digit of the
binary number.

Repeat step 3 until all digits have been multiplied.

Sum the result of step 3 to get the answer number.

Example Convert BINARY 11101 to DECIMAL

NOTES

MULTIPLICATION

RESULT

Start from the last digit of our example number (11101). Let's call this currentDigit. The value is 1.

Multiply that digit with 2^0. Note that the power of 0 of
any number is always 1.

Note the ^ operator means to the power of. Ie:
2^0 is equivalent to 20
2^1 is equivalent to 21
2^2 is equivalent to 22
2^3 is equivalent to 23
2^4 is equivalent to 24
and so on.

1*(2^0)

1

Process the previous digit, which is 0,
multiply that digit with the increasing power of 2

11101(current digit is in bold)

0*(2^1)

0

Process the previous digit, which is 1, note
that 2^2 means 2*2

11101(current digit is in bold)

1*(2^2)

4

Process the previous digit, which is 1, note
that 2^3 means 2*2*2

11101(current digit is in bold)

1*(2^3)

8

Process the previous digit, which is 1, note
that 2^4 means 2*2*2*2

11101(current digit is in bold)

1*(2^4)

16

Here we stop because there's no more digit
to process

This number comes from the sum
of the RESULTS column

ANSWER

29

Basically, this is the same as saying:

1*(2^4) + 1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0)

or

1*(16) + 1*(8) + 1*(4) + 0*(2) + 1*(1)

The reason it's easier to start backward is because:

Counting the number of digits takes extra time, and you
might count wrongly.

If you don't remember what a particular power-of-2 value, it's easy to calculate it from the previous
value. For instance, if you don't remember what the
value of 2*2*2 is, then just double the value of 2*2 (which
you already have - if you had started backward).

Another Example Convert BINARY 1010 to DECIMAL

MULTIPLICATION

RESULT

0*(2^0)

0

1*(2^1)

2

0*(2^2)

0

1*(2^3)

8

ANSWER

10

Is constructing a table like above required? No, it just
depends on your preference. Some people are visual, and the
table might help. Without a table, it's also easy. If you want to be a speed counter, just remember that the value
of the multiplier is always the double of the previous
one.