c语言中,一个二进制对10求余或者求商,结果变为十进制,请问这是为什么?

如题所述

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
参考代码:

#include <stdio.h> 
int main()
{
int n,a[100],i=0,j;
scanf("%d",&n);
while(n)
{
  a[i++]=n%2;
n/=2;
}
for(j=i-1;j>=0;j--)
 printf("%d",a[j]);
printf("\n");
return 0; 
}
/*
输出: 
10
1010
*/

追问

百度复制?请看好我的问题

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网