Ciao,
Non è complicato... parti dall'ultima cifra e moltiplica per 2^0, prendi la penultima e moltiplica per 2^1 e così via (in sostanza effettua l'operazione che hai descritto, niente di più).
Per chiarirti un po'meglio cosa fare, pensa allo pseudocodice seguente:
int potenza=1;
for(i=0;i<lunghezza;i++){
int c=stringa[N-i-1]-'0'; //trasforma l'ascii '0' nel numerico 0
valore += c*potenza;
potenza*=2;
}
Ciaociao