为了账号安全,请及时绑定邮箱和手机立即绑定

c语言进制转换,想问下这个算法是什么原理?

c语言进制转换,想问下这个算法是什么原理?

C
元芳怎么了 2019-01-01 10:06:07
void change(int x,int r){ if(x!=0){ change(x/r,r);printf("%d",x%r);}}main(){int x,r; printf("\n input x and r:");scanf("%d%d",&x,&r); change(x,r); }
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

这就是“用模除,返回取余数”的递归调用函数实现。比如x是15,r是2,则——
15/2==7-->7/2==3-->3/2==1-->1/2==0,然后由printf输出——
1%2==1
3%2==1
7%2==1
15%2==1-->递归完成,所以打在屏幕上就是1111,也就是15的二进制是1111。

查看完整回答
反对 回复 2019-01-14
  • 1 回答
  • 0 关注
  • 736 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信