代码给出了错误的答案。如果数字等于 42,则将其变为 101010。好吧,这是真的。但是如果数字等于4,它会变成99。我没有发现错误。我该如何修复代码?
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int i,digit,number=4;
long long bin= 0LL;
i=0;
while(number>0)
{
digit=number%2;
bin+=digit*(int)pow(10,i);
number/=2;
i++;
}
printf("%d ",bin);
getch();
}