//program to give binary equivalent of a decimal number without using recurssion
#include<stdio.h>
#include<math.h>
int main(void)
{
int i=0,num,bin=0;
printf("enter number : ");
scanf("%d",&num);
while(num>0)
{
bin+=((float)(num%2))*pow(10.0,(float)i++);
num/=2;
}
printf("Binary equivalent is : %d",bin);
getchar();
return 0;
}
This code dosen't provide desired output for inputs like 7, but does provide desired output for some numbers.Can you please help me out find the error.