for (n=number; n > 0; n=n/2)
{
if (n % 2 == 0)
printf ("0");
else
printf ("1");
}
这是我的代码的一部分。我已经提示用户输入一个分配给数字的整数,我想打印整数的二进制转换。然而;目前我的代码以反向打印二进制数字(即当我输入56时,它打印000111对111000)。如何让它反向打印?
答案 0 :(得分:0)
有多种方法可以打印等价于整数的二进制文件。
以下是我使用递归的解决方案。
void call (int n ) {
if (n > 0 ){
call(n/2);/* to prints in reverse order */
if(n%2 ==0 )
printf ("0");
else
printf ("1");
}
}