基数変換

2進法で10101101の数を10進法に直すには、頭に 0b を付けて

0b10101101
173

のようにするだけです。逆は

bin(173)
'0b10101101'

です。

もうちょっとアルゴリズムらしく記述してみます:

bits = "10101101"
x = 0
for b in bits:
    x = x * 2 + int(b)
print(x)
173
x = 173
bits = ""  
while x > 0:
    bits = str(x % 2) + bits
    x = x // 2
print(bits)
10101101

ちなみに、最上位ビットだけマイナスの重みとする2の補数表現では、次のようになります:

bits = "10101101"
x = 0
sign = -1
for b in bits:
    x = x * 2 + sign * int(b)
    sign = 1
print(x)
-83