creo que lo mejor seria almacenar el número como si se tratase de una cadena en un puntero, luego simplemente recorres la cadena por simple aritmetica de punteros
esto en c++ claro esta, si quedan dudas puedo hacer un codigo fuente, solo avisen
salu2

