コードは間違った答えを出しています。数値が 42 の場合、101010 になります。わかりました。これは本当です。しかし、number が 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();
}