我们先拿十进制转化为二进制来举例
我在b站上学习到十进制转为二进制的算法为:


比如:十进制9转化为二进制的步骤为


根据思路代码为:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void change(int n)
{if (n > 0){change(n / 2);printf("%d", n % 2);}
}
int main()
{int n = 0;printf("input number:");scanf("%d", &n);printf("%d对应的二进制为: ", n);change(n);printf("\n");return 0;
}

再写十进制向R进制转化的问题:
转化的思路同十进制转化二进制,用÷商取余的方法来找到转化后的数。

代码为:

int main() {
int number; //输入的十进制数
int system; //输入需要转换的进制
char s[50];
int i;      //用来存储进制转化后的长度
int length; //用来最后的打印
int flag;   //用来存储输入数的+或-
printf("先输入一个整数,按空格后再输入转化的进制数\n");
while ((scanf("%d%d", &number , &system)) != EOF)
{i = 0;flag = 0;  //等于0时代表正数if (number < 0) {number = -number;  //取反flag = 1;          //标记为-数}while (number){if (number % system <= 9) {s[i] = (number % system) + '0';     //数字加上’0’变成字符类型,因为‘1’的对应编码是49的二进制码,}                                      //在ASCII码里‘0’对应的刚好是48的二进制码。所以加上‘0’,变成了字符 ‘1’else if (number % system == 10)s[i] = 'A';else if (number % system == 11)s[i] = 'B';else if (number % system == 12)s[i] = 'C';else if (number % system == 13)s[i] = 'D';else if (number % system == 14)s[i] = 'E';else if (number % system == 15)s[i] = 'F';number /= system;i++;}length = i;if (flag == 1)printf("-"); //如果是负数先打印出-for (i = length - 1; i >= 0; i--)  //从后往前打印printf("%c", s[i]);printf("\n");}
return 0;
}

注释:

s[i] = (number % system) + '0';  //目的是将int类型转化为char类型。

for (i = length - 1; i >= 0; i--)  //从后往前打印printf("%c", s[i]);   //从十进制到二进制可知,从后往前输出,所以用for循环从后向前输出。

输入一个十进制数N,将它转化为R进制数输出(C语言版)相关推荐

  1. 进制转化:从键盘接收一个4位的十进制数,将它转化为16进制并输出

    ;从键盘接收一个4位的十进制数,将它转化为16进制并输出 DATA SEGMENT NUM  DW 0 CRLF   DB 0AH,0DH,24H DATA ENDS STACK SEGMENT PA ...

  2. 给定一个十进制数,将其转化为N进制数-----17年滴滴笔试题

    题目:给定一个十进制数M,将其转化为N进制数,其中2<=N<=16,其中N为32为整型数; 输入:M N,如7 2 输出转化结果:111 注意点:考虑负数的情况,记得添加负号(其实直接添加 ...

  3. 第E题 转换任意进制 (java方法直接解)==输入一个十进制数N,将它转换成R进制数输出

    输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10). Outpu ...

  4. 将任意的十进制整数转换成任意R进制数(R在2-16之间)

    在c语言中,编程实现将任意的十进制整数转换成任意R进制数(R在2-16之间),源码如下所示: #include <stdio.h> int main(){     void change( ...

  5. 使用栈实现十进制数转化为N进制数

    /*     使用栈求解及十进制数转化为N进制数 */ #include <iostream> #include <stack> using namespace std; vo ...

  6. 将十进制有理数转化为m进制数(C语言实现)

    内容: 若将十进制有理数转换为r进制的数,应如何实现. 步骤: 1.算法分析: 进行算法分析前,首先需要了解一些进制转换的知识,十进制整数转换二制是采用"除2取余,逆序输出"的方法 ...

  7. (C++)除基取余法:将十进制数转化为Q进制数

    所谓基,就是指将要转换成的进制Q. 除基取余的意思就是:每次将待转换数除以Q,然后将得到的余数作为低位存储,而商则继续除以Q并重复上面的操作,直至商0时,将所有位从高到低输出就可以得到Q进制数. 代码 ...

  8. 偶数乘2奇数乘3C语言,输入一个整数x,如果为偶数乘2,否则乘3,然后输出.C语言

    编写一个程序,输入一个正整数,并做以下运算:如果为偶数,除以2,如果为奇数,乘3加1.得到的结果再按上 本人不会C#,算法相通,用c语言演示一下:#includevoidmain(void){intz ...

  9. [转载] python字符串转化为16进制数_python实用知识,数值类型和进制整数的转换

    参考链接: 在Python中将整数int转换为字符串string 喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 1.数值类型的转换 int()可以将字符串 ...

最新文章

  1. 如何配置IntelliJ IDEA发布JavaEE项目?
  2. seaborn可视化散点图并自定义可视化结果图像的大小(Change the Size of a Seaborn Plot)
  3. asp.net 备份和恢复SQL SERVER 数据库
  4. MYSQL内置函数总结
  5. css区块定位之浮动与清除属性
  6. java 格式化 布尔型_Java基础篇(1)-格式化
  7. linux就该这么学第八课
  8. 蜗牛星际NAS安装黑群晖V6.2.1+洗白+免U盘引导启动
  9. 欧洲语言框架A1到C2,法语等级 A1、A2、B1、B2、C1、C2
  10. 教你轻松删除PDF文件中的空白页
  11. ComposeOptions.kotlinCompilerVersion is deprecated
  12. 微信账号和系统账号绑定
  13. Windows下hosts文件的作用
  14. pandas中的freq和inferred_freq等时间参数究竟有哪些
  15. windows下编译chromium浏览器的方法
  16. word中编号样式库内找不到带圈编号的解决方案
  17. 大功率可控硅调压电路
  18. 山东电销机器人_青岛语音电销机器人 欢迎来电「山东启云创客网络科技供应」...
  19. LED音乐频谱之概述
  20. 首届“全国人工智能大赛”正式启动,作为大赛支撑平台,和鲸科技助力年度顶级AI赛事

热门文章

  1. “南通大学教务管理系统微信公众号” 用户体验分析
  2. map、reduce函数
  3. DllImport学习
  4. 【优化求解】基于蚁狮算法求解最优多目标Matlab代码
  5. zimbra漏洞利用
  6. 【通达信指标公式】主力博弈分时指标,分时图抓日内弱转强牛股
  7. vue实现短信验证码登录
  8. 蓝牙开发之 IOS ANCS
  9. 原生js实现二级伸缩菜单
  10. 不刷卡,不扫码,微信推出刷掌支付;AI“黑箱”被打开?谷歌找到大模型能力涌现机制|极客头条