Ciao, la funzione
strtol ti permette di parsare una stringa e convertirla in un "long", specificando anche una base.
Nel tuo esempio, puoi usare questa funzione per ottenere il numero 5 a partire dalla stringa "101".
char* s = "101";
long n = strtol(s, NULL, 2);
printf("%ld\n", n); // stampa 5