先上用Python写的十进制转二进制的函数代码:

def Dec2Bin(dec):

result = ''

if dec:

result = Dec2Bin(dec//2)

return result + str(dec%2)

else:

return result

print(Dec2Bin(62))

图解此函数执行过程:

文字描述此函数的执行过程:

以十进制数10作为例子来解释递归问题。首先,进入函数Dec2Bin(10),此时参数dec=10,而result接受的是Dec2Bin(5)的返回值;于是,程序又进入了Dec2Bin(5)的函数体,注意,此时Dec2Bin(10)的函数程序还没有执行完,正在外层程序等待Dec2Bin(5)给它返回result的值呢。在Dec2Bin(5)的函数里,result的值又是Dec2Bin(2)的返回值;于是乎,程序又让Dec2Bin(5)等到起,转而进入Dec2Bin(2)的函数里。在Dec2Bin(2)的函数里,同样有个result的值,它是Dec2Bin(1)的返回值;程序暂停了Dec2Bin(2)继续往下执行,来到了Dec2Bin(1)函数体,然而,Dec2Bin(1)的result的值是Dec2Bin(0)的返回值;正在这时,程序说,Dec2Bin(dec)函数的参数dec为假的时候,执行else语句,即返回result,而此时result就是初始化时的空值,所以,Dec2Bin(0)返回空值给Dec2Bin(1),并被Dec2Bin(1)的result所接受。紧接着,Dec2Bin(1)继续执行没有完成的代码,即:return result+str(dec%2)这条语句,根据Dec2Bin(1)当前的result及dec的值,返回了字符串“1”,这个字符串就传给了还在外层等待的Dec2Bin(2)。以此类推,最终让Dec2Bin(10)这个函数也得到了它的result。

总结:递归就是外层的函数的结果取决于内层函数的相关值,直到内层函数一层一层地把相关的值都返回来为止。

新手一枚,自我学习中,有问题欢迎指正!

C语言之利用递归将十进制转换为二进制

#include#includevoid change2(int num){  if (num != 0)   {   change2(n ...

5、StringBuffer与StringBuilder的区别(十进制转二进制)

1. 在执行速度方面的比较:StringBuilder > StringBuffer 2. StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们 ...

十进制转二进制and位运算符

先给大家送个福利! ---------------简单口算-------------------------- 10 >>  1010   除2取余倒写 /* 十进制转二进制规则是:除二取 ...

PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明

PHP函数篇详解十进制.二进制.八进制和十六进制转换函数说明 作者: 字体:[增加 减小] 类型:转载   中文字符编码研究系列第一期,PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明 ...

C++十进制转换为二进制

题目内容:将十进制整数转换成二进制数. 输入描述:输入数据中含有不多于50个的整数n(-231” ...

[原创]PostgreSQL中十进制、二进制、十六进制之间的相互转换

在PostgreSQL中,二进制.十进制.十六进制之间的转换是非常方便的,如下: 十进制转十六进制和二进制 mydb=# SELECT to_hex(10); to_hex -------- a (1 ...

C++进制转换(十进制转二进制、八进制、随意进制)

十进制转二进制: //十进制转二进制 #include using namespace std; void printbinary(const unsigned int ...

PHP函数十进制、二进制、八进制和十六进制转换

PHP函数篇详解十进制.二进制.八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发. 一,十进制(decimal system)转换函数说明 1,十进制转二进制 decbin ...

Formiko总结整数十进制转换二进制原理

引子: 为什么十进制转二进制的“辗转相除记录余数倒序输出”的算法是正确的?这个问题陪伴了Formiko半年. 实践: 实践一:把十进制数100转换成二进制数的图   上图和和下图唯一的区别在最后一位上 ...

随机推荐

wampserver安装配置

按步骤安装--选择指定浏览器-安装成功后显示绿色图标: 打开浏览器:将文件夹移入wampserver安装路径的www文件夹中:找到电脑IP 在手机端访问 IP/文件夹/demo.html即可

arm 2440 linux 应用程序 nes 红白机模拟器 第2篇 InfoNES

InfoNES 支持 map ,声音,代码比较少,方便 移值. 在上个 LiteNES  的基础上,其实不到半小时就移值好了这个,但问题是,一直是黑屏.InfoNES_LoadFrame ()  Wo ...

haha

[问题描述] 栈是一种强大的数据结构,它的一种特殊功能是对数组进行排序.例如,借助一个栈,依次将数组1,3,2按顺序入栈或出栈,可对其从大到小排序:1入栈:3入栈:3出栈:2入栈:2出:1出栈.在上面 ...

C#反射深入学习

C#反射 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得 ...

iOS开发 AFNetworking 3.0使用遇到的问题

前段时间写了一个iOS开发之AFNetworking 3.0.4使用这篇文章,是基本的用法,昨天在使用的时候又出现了几个问题,特地俩记录下,希望能帮到大家! 问题一 我是做一个获取手机验证码的功能,进 ...

ActiveMQ的配置与使用

1.什么是ActiveMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来 ...

Problem : (1.2.1) Text Reverse

#include using namespace std; void main() { char arr[1000]; int a,n; int s,t; cin&gt ...

vue-cli 构建

文章链接:https://blog.csdn.net/wulala_hei/article/details/85000530

安装pipenv

首先: 安装pipenv pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv 使用国内源安装pipenv 创建文件夹 mkd ...

python递归十进制转化二进制_什么是递归?用十进制转二进制的Python函数示例说明...相关推荐

  1. python数据分析要学多久_如何七周成为数据分析师18:Python的新手教程

    本文是<如何七周成为数据分析师>的第十八篇教程,如果想要了解写作初衷,可以先行阅读七周指南.温馨提示:如果您已经熟悉Python,大可不必再看这篇文章,或只挑选部分. Python是近年来 ...

  2. python基础教程多少页_看完这篇文章,你的Python基础就差不多了(附200页《Python400集》)...

    说干就干.经过将一个多月的素材整理.编写.打磨,在上周末终于完成了. 写完它的时候,我很兴奋,因为它将是第一本系统介绍 Python技巧使用的中文教程. 它不仅适用于一个刚入坑 Python ,还未接 ...

  3. python编程基础知识体系_最新版 17 幅思维导图:Python 编程之核心知识体系

    原标题:最新版 17 幅思维导图:Python 编程之核心知识体系 导读:本文主要涵盖了 Python 编程的核心知识,展示了一系列思维导图,主要就 Python 核心基础知识进行了细致梳理.无论你是 ...

  4. python可视化案例书籍推荐_我用python5年后,我发现学python编程必看的三本书!...

    非常喜欢python 我非常喜欢python,在前几年里,它一直是我热衷使用并不断研究的语言,迄今为止,python都非常友好并且易于学习! 它几乎可以做任何事,从简单的脚本创建.web,到数据可视化 ...

  5. python做客户端适合吗_太简单!只学十分钟,Python菜鸟也能开发一个区块链客户端...

    原标题:太简单!只学十分钟,Python菜鸟也能开发一个区块链客户端 作者:Adil Moujahid 编译:kou.Eli 本文转自区块链大本营(ID:blockchai_camp),转载需授权 区 ...

  6. 学完python写不出程序_我又不当程序员,为什么要学Python编程?

    记得刚毕业时,所受的第一场职场教育便是: 职场如战场,战场上只论功劳,不论苦劳. 回想起那时,无数个夜晚披星戴月加班加点,却常常被狠批在做无用功,迷茫与崩溃说来就来,甚至会觉得 " 越努力越 ...

  7. python回合制游戏教程_适合初学者练手的 10 个 有趣Python项目|python教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后 ...

  8. python新手入门项目推荐_适合初学者练手的 10 个 有趣Python项目

    Python Python开发 Python语言 适合初学者练手的 10 个 有趣Python项目 想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以 ...

  9. python开发cad教程视频_我是编程小白,我想视频学习Python会不会能学会?

    其实Python入门并不难,只要你有足够的自信心,明确学习目标,循序渐进就能不断享受到python带给你创新的乐趣. 之前我也是看了很多python入门视频教程,个人觉得有几个还是很不错的,大家可以学 ...

最新文章

  1. 2022-2028年中国输送胶管行业市场全景调查及投资前景趋势报告
  2. 老王教你怎样干掉局域网的IDA验证
  3. python数据分析(九)-点积与线性代数
  4. windows 技术篇-将本地主机加入域的方法实例演示
  5. haproxy服务启动命令_HaProxy安装和常用命令
  6. APK加壳【1】初步方案实现详解
  7. hbase中对deadserver处理存在的问题
  8. 如何把SAP Kyma和SAP Cloud for Customer连接起来
  9. Androd安全——反编译技术完全解析
  10. 自动加密可序列化的类
  11. MBR, EFI, 硬盘分区表
  12. 【Flink】Flink各种UDF简介
  13. vSphere 7 With K8s系列06:创建命名空间
  14. mysql for macOS安装
  15. ai初创企业商业化落地_初创企业需要问的三个关于人工智能的问题
  16. Asp.net弹出询问窗口
  17. 那些值得称赞的 python 小亮点,断言,with 语句,格式化字符串,听我道来
  18. 听不够的三国,淡淡的乡愁
  19. 机器学习可行性与VC dimension
  20. 【Pytorch】第 5 章 :解决多臂老虎机问题

热门文章

  1. 微信小程序首页图片本地缓存
  2. Python code模块
  3. sklearn(一)、决策树
  4. Silverlight Forms Builder表单设计器FreeForm 简介
  5. 前端实现点击复制功能,兼容Safari浏览器 @令狐张豪
  6. 记录新站www.recuva.cn的优化过程
  7. 适合初学者的 Python3爬虫获取自如网北京租房数据
  8. Q3营收净利双降,凯撒文化该如何蹚过“至暗时刻“?
  9. 简编美国近200年的强国史
  10. excel乘法公式怎么输入_25个常用公式计算表+7套施工测量计算表,全自动计算,测量无压力...