codice:
void binary (char *output, char value)
{
	char *ptr = output + 7; // si posiziona in fondo.. 

	while (ptr >= output) // scrive tutti gli otto caratteri
	{
		*ptr-- = (value & 1) + '0'; // scrive 0 o 1 a seconda se il bit è settato
		value >>= 1; // esegue lo shift a destra
	}
}
E' per farti capire..
Stai attento perché non controlla se la lunghezza del buffer è adeguata, e non mette neanche il carattere di terminazione..