C语言递归解决十进制转换二进制
1、解题思路
在纸上做过十进制转二进制的朋友应该都用的都是除二取余的方法,写出每一次的余数知道0为止再从下至上依次读取余数即可,类似下图
根据观察可知十进制转换为二进制的问题属于我上一篇文章所提到的“套娃问题”且十进制转二进制(整数部分)需要从下往上读也就是可以利用递归向上传递的特点,所以用递归来解决,具体思路为
1、若当前数小于2则直接输出。
2、若当前数大于等于2,则通过对当前数(比如上图第一步的20)对2取余的得到该位所对应的数(0或1),再对其除二继续计算直到1为止。
根据递归的向上传递特点,最终得到的数字会依次从下至上输出并的到结果。
2、代码实现
#include <stdio.h>int trans(int x);int main()
{int x;scanf("%d",&x);trans(x);return 0;
}int trans(int num)
{int a;if(num<2){printf("%d",num);}else{a=num%2; //取余得到对应的数字num=num/2;//除二进行下一步计算trans(num);printf("%d",a);}return 0;
}
至此问题就解决了,这段代码也可以解决十进制转换为二到九进制的转换,把trans函数中的2改为对应数字即可,原理一样。
C语言递归解决十进制转换二进制相关推荐
- C语言之用递归进行十进制转二进制(图解)
文章目录 前言 一.用二整除法 1.原理(图解) 如图: 2.使用图片 3.代码 二.对照表比较法 1.原理(图解) 如图: 2.使用图片 3.代码 总结 前言 在学习算法的过程中,我们会遇到如何把十 ...
- 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...
C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...
- c语言位运算八进制转二进制,C语言十进制转换二进制八,十六进制。二进制转十进制。...
C语言十进制转换二进制八,十六进制. 十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了.可以根据公式写.八制进公式也同理.十六进制有点不一样,大于9的要转为字母.A,B,C,D,E,F. ...
- c语言十进制转十三进制,【05-13|教程】发个手动算十进制转换二进制和二进制转换十进制的教...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 今天上单片机自己琢磨的――,也许对有些人有用,大神别喷. 首先是二进制转换十进制.大家知道所有的二进制10 101 1100 不管怎么变化它都是1开头的, ...
- 十进制转换二进制(原码)
十进制转换二进制(原码) 收藏 计算机是采用二进制存储的,计算机的二进制编码方式也分为原码,反码,补码方法.这是一个把十进制数字转换到它的二进制原码的算法,希望能给大家一些启发吧!这个算法我是用V ...
- 6-7 十进制转换二进制(15 分)
6-7 十进制转换二进制(15 分) 本题要求实现一个函数,将正整数n转换为二进制后输出. 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的 ...
- 6-7 十进制转换二进制 (15分)
标题6-7 十进制转换二进制 (15分) 本题要求实现一个函数,将正整数n转换为二进制后输出. 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进 ...
- **6-7 十进制转换二进制 (10分)**
6-7 十进制转换二进制 (10分) 本题要求实现一个函数,将正整数n转换为二进制后输出. 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的 ...
- 使用递归将十进制转换成任意进制(Number Conversion)
关于递归 什么是递归? 说白了,就是函数自己调用自己,然后被调用的函数继续调用自己,这将无限循环下去,除非代码中有终止调用链的的内容. 解释一下递归的所经历的过程 递归需要有边界条件.递归前进段和递归 ...
最新文章
- 布线须知:机柜在数据中心机房的三个新用途
- mysql备份操作_mysql-数据备份操作
- LeetCode Nth Digit
- 第二次结对编程作业——毕设导师智能匹配
- caffe 加入 cudnn编译
- 单例模式及C++实现代码
- Dubbo(十一)dubbo的超时重试配置以及启动检查
- [置顶] 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置
- 一些出的不错的Java面试题(一)
- [读书笔记]Linux命令行与shell编程读书笔记01
- 熊猫烧香 - 核心源码
- 超详细|一篇搞定操作系统——文件管理
- 零门槛修改微信步数(基于虚拟xposed)
- popwindow 加个边框_PopupWindow仿微信浮层弹出框效果
- 文件下载,搞懂这9种场景就够了
- 计算机网络—IP地址及其表示方法
- 当电脑打开显示每日新闻联播主要内容
- centos7安装的大致步骤
- 昨天偷懒了(⊙o⊙),好气啊,那今天就补上昨天的吧,orz向大佬们低头。还是熟悉的味道。
- sap 消耗策略999_SAP 计划策略
热门文章
- # QForkMasterInit: system error caught. error code=0x000005af, message=VirtualAllocEx failed.: unk
- ejs java_ejs教程丶Java教程网-IT开发者们的技术天堂
- 在网易游戏的第二年——Jerish的2020总结
- kali linux 支持什么编程语言_渗透过程中可能要用到的Kali工具小总结
- 淘宝退货和退款有什么区别
- leetcode:剑指 Offer 56 - I. 数组中数字出现的次数
- python中yield语句的作用_Python中关键字yield有什么作用
- 目标检测项目中面对高分辨率图像的滑动窗口技术(二)(代码开源,超简便API封装,直接调用进行切图及保存)
- C++初学者应该看什么书
- 小议过滤器filter