配列やその他のものを使用せずにループを使用してこのコードを書こうとすると、問題なく動作しますが、その:問題は、それがゼロにexmpため を書き込みませんです: 私は43を入力した場合、それはそれを正しく変換します。101011 が、私は12を入力すると、あなたがしようとした場合、それは唯一の11の代わりに1100Cでの10進数から2進数への変換
int decimal,binr=0;
int bin=0,rem,i;
printf("enter the decimal number:");
scanf("%d",&decimal);
for(i=1;decimal!=0;i++){
rem=decimal%2;
binr= binr*10 +rem;
decimal=decimal/2;
}
for(i=0;binr!=0;i++){
rem = binr%10;
bin= bin*10 +rem ;
binr=binr/10;
}
printf("the binary equivalent is: %d",bin);
、あなたのプログラムをトレースするために、デバッガを使用しましたか? –