Quando posti su un forum di programmazione (questo o altro) non devi dire
"nulla ... non funziona"
ma devi indicare, eventuali errori di compilazione, di runtime e comportamenti anomali ...
Quale input fornisci al programma, quale output hai e quale ti aspettavi ...
Cosi' faciliti coloro che ti vogliono rispondere ... altrimenti non sempre potrai avere risposte ...
Comunque ... direi che, ottenuta la stringa in input, il calcolo lo puoi fare scrivendo
P.S. Ovviamente esistono codici piu' efficienti (ad esempio, io non utilizzerei la pow), ma era per darti un suggerimento con quello che avevi gia' scritto tu ...codice:bin=0; for(i=0; i<strlen(carat); i++) if(carat[i]=='1') bin += pow(2, 3-i);