Aqui te pongo el código de la funcion que buscas.
#include <stdio.h>
void dec2bin(long decimal, char *binary);
int main()
{
long decimal;
char binary[80];
printf("\n\n Ingrese el numero a convertir : ");
scanf("%ld",&decimal);
dec2bin(decimal,binary);
printf("\n El numero Binario es: %ld is %s \n",decimal,binary);
getchar(); // trap enter
getchar(); // wait
return 0;
}
void dec2bin(long decimal, char *binary)
{
int k = 0, n = 0;
int neg_flag = 0;
int remain;
int old_decimal;
char temp[80];
if (decimal < 0)
{
decimal = -decimal;
neg_flag = 1;
}
do
{
old_decimal = decimal;
remain = decimal % 2;
decimal = decimal / 2;
printf("%d/2 = %d remainder = %d\n", old_decimal, decimal, remain);
temp[k++] = remain + '0';
} while (decimal > 0);
if (neg_flag)
temp[k++] = '-';
else
temp[k++] = ' ';
while (k >= 0)
binary[n++] = temp[--k];
binary[n-1] = 0;
}