A) array de caracteres.
B) objeto de la clase string
El algoritmo es sencillo: inicias con un acumulador en cero y, por cada digito del numero binario empezando por el mas significativo y terminando con el menos, multiplicas el acumulador por dos y sumas el digito.
Por ejemplo en el caso de 1101:
1) Acumulador a 0
A D (A es el acumulador y D el digito procesado)
2) 0 * 2 + 1 == 1
3) 1 * 2 + 1 == 3
4) 3 * 2 + 0 == 6
5) 6 * 2 + 1 == 13
Un saludo