递归 将一个10进制数,转换为16进制
Posted zzdoit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归 将一个10进制数,转换为16进制相关的知识,希望对你有一定的参考价值。
代码:
#include <stdio.h> char HexToChar(unsigned int num) { switch(num) { case 0 : return \'0\'; case 1 : return \'1\'; case 2 : return \'2\'; case 3 : return \'3\'; case 4 : return \'4\'; case 5 : return \'5\'; case 6 : return \'6\'; case 7 : return \'7\'; case 8 : return \'8\'; case 9 : return \'9\'; case 10 : return \'a\'; case 11 : return \'b\'; case 12 : return \'c\'; case 13 : return \'d\'; case 14 : return \'e\'; case 15 : return \'f\'; } return \'0\'; } void MyHex(unsigned int num) { unsigned int tmp = num%16; if(num > 16 ) MyHex(num / 16); printf("%c",HexToChar(tmp)); } int main() { int a =100111; scanf("%d",&a); MyHex(a); printf("\\n"); return 0; }
高亮部分是这段代码利用“递归”的关键所在:1 递归要有重要的退出条件 2 递归中的外部形参变实参,一系列操作后,数据再设置为内部形参,是一大特点。
运行:
以上是关于递归 将一个10进制数,转换为16进制的主要内容,如果未能解决你的问题,请参考以下文章
C语言怎么将超大的16进制数转换成10进制,这个16进制数是个大数,比如0x123456789ABCDEF12345这种