Dopo che hai letto il carattere, utilizzi un buffer e con un ciclo formatti il numero scrivendolo in binario.. Utilizzi l'and binario per sapere se il bit meno significativo è settato o no, scrivi il carattere ASCII corrispondente e poi "shifti" di uno il numero per ricominciare con il bit successivo..

Forse c'è anche qualche funzione standard che lo fa.. (anche se non credo)