1024二进制

1024二进制,第1张

1024二进制 1024转换成二进制1024转换成二进制

估计你是理解了,但你的表达让人还是不是那么明白。

在函数中to_binary中会多次递归调用自己,那么在每次递归调用之中,r的值被输出,输出的顺序就要看是先输出再递归调用,还是先递归调用再输出了。

这两种不同情况,会使得输出的顺序刚好相反。

所以根据需要的输出顺序,来决定代码中输出与递归调用的顺序。

在这个问题中是先递归调用再输出,这样就必须先等内层的递归返之后才能输出,这样会使最后的递归调用的输出实际上最先输出出来,从而实现(进制转换中需要的)倒序的输出。

第一层调用n=1024,r=0,输出r,也就是0第二层调用n=512, r=0,输出r,也就是0第三层调用n=256,r=0,输出r,也就是0第四层调用n=128,r=0,输出r,也就是0第五层调用n= 64,r=0,输出r,也就是0第六层调用n= 32,r=0,输出r,也就是0第七层调用n= 16,r=0,输出r,也就是0第八层调用n= 8,r=0,输出r,也就是0第九层调用n= 4,r=0,输出r,也就是0第十层调用n= 2,r=0,输出r,也就是0第11层调用n= 1,r=1, 不再递归, 输出r,也就是1也就是最先是最内层输出了1,然后才依次向外,输出各层的r,所以随后的结果是1后面10个0

1024个二进制位还是1024字节还是1000字节

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/4092392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-24
下一篇 2022-10-24

发表评论

登录后才能评论

评论列表(0条)

保存