Usas string entonces y vas haciendo var = var + nuevodato
este ejercicio es de un libro("Como programar en C++, el Deitel)
y no creo aver visto eso todavia
asi dice el ejercicio:
Introduzca un entero (de cuatro dígitos) que contenga sólo 0s y 1s (es decir, un entero "binario") e imprima su equivalente decimal. (Sugerencia: utilice los operadores de módulo y de división para detectar los dígitos del número "binario" uno por uno, de derecha a izquierda. Al igual que en el sistema numérico decimal, donde el dígito más a la derecha tiene un valor posicional de 1, y el siguiente dígito a la izquierda tiene un valor posicional de 10, y a continuación de 100, y a continuación de 1000, etc., en un sistema numérico binario, el dígito más a la derecha tiene un valor posicional de 1, el siguiente dígito a la derecha tiene un valor posicional de 2, y a continuación de 4 , y a continuación de 8, etc. Por lo tanto, el número decimal 234 puede ser interpretado como 4 * 1 + 3 * 10 + 2 * 100. El equivalente decimal del número 1101 binario es 1 * 1 + 0 * 2 + 1 * 4 + 1 * 8 o bien, 1 + 0 + 4 + 8, es decir 13).
no se si se entienda lo que quiero hacer
aunque e notado que ponen ejercicios que se resuelve con cosas que aun no se ven o se veran en el prox capitulo.