Io avrei usato un 32bits cn
codice:
value |= (1 << cifra)
e avrei controllato con
codice:
if(value & (1 << cifra))
puoi usare anche un qualcosa di simile, per rendere + leggibile

codice:
union{

struct{
     int zero:1;
     int uno:1;
.
.
     int nove:1;
} numeri;
unsigned int valore;
}
e controllare.