Hello

This is my first post and i have searched forums to try and find a suiteable answer but didnt find anything that would help.

I have written some code that is aimed to change decimal to binary, 16bits worth.

Unfortunatly i can not get it working, the code does compile but doesnt seem to be outputting the correct data.

Code:
void dec_bin(unsigned int bigdata)             //function passed decimal number les than 65k
{

	while(num>0)
	{
		rem[j]=num%2;          //modulus of 2 to see if there is remainder
		num=num/2;              //divide number by 2 each time 
		j++;                           //increment number of positions
		length++;                 //count length of data
	}
	
	for(j=length-1; j>=0; j--)
	{
		mask=0b1000000000000000;
		if((&rem[j])!=0) {dec=dec^mask;}          //XOR each time with mask if modulus =1	
		mask=mask>>1;                                     //right shift mask each time

	seperate_data(bigdata);			//send random 16bit data to be split into 2 bytes, this function has been tested and works OK
	}

}