Let us take a binary number 10010111. To make conversion easier let us write down numbers 0 to 7 under this binary number starting from the right side.
These numbers will represent powers of 2. For each '1' in the given binary number we will need to sum its power of 2 to get the decimal representation.
Thus:
1 0 0 1 0 1 1 1
7 6 5 4 3 2 1 0
would mean that we need to sum up 27, 24, 22, 21 and 20. Accordingly, 128+16+4+2+1 = 151.
This technique will work with any size binary number, provided that you will sum up all the powers of 2 starting from 0 up to the number of digits in binary number minus 1.