递归实现十进制转X进制

递归实现十进制转X进制

作者:yxin1322
 blog:http://blog.csdn.net/yxin1322  转载请注明出处

         我们在初学进制转换的时候,最常用的十进制转换其他进制方法当数“除n取余法”了,其中n是目标进制的基数。例如我们要把十进制的9转换成2进制,用除2取余法有如下过程:

2 | 9
   -----
 2 | 4    ..... 1
    ------
  2 | 2   ..... 0
     ------
   2 | 1  ..... 0
      ------
        0  ..... 1

         将每一步的余数自下而上输出即得9的二进制表示,把除数2换成其他整数还可以得到9的其他进制的表示。模拟这一过程,编写了函数Convertor,可以完成十进制到任意进制数的转换。代码如下:
1    
7    # <stdio.h>
8    
9     Convertor( n,  base); 
10    
11     main()
12    {
13    	Convertor(,);
14    	printf();
15    }
16    
17     Convertor( n,  base)
18    {
19    	 temp=n%base;
20    	n=n/base;
21    
22    	(n==)
23    		printf(,temp);
24    	
25    	{
26    		Convertor(n,base);
27    		printf(,temp);
28    	}
29    }

         调用函数Convertor(34,2),输出“1 0 0 0 1 0”,即为34的二进制码。需要说明的是,当进制基数大于10时,程序并没有安排其他字母来代替大于10的数字,如当调用形式为Convertor(31,16)时,输出为“ 1 15”,它相当于16进制表示法的1F,程序仅简单地将结果的数位之间用空格隔开。
发布了23 篇原创文章 · 获赞 0 · 访问量 21万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览