递归 将一个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进制的函数

C语言怎么将超大的16进制数转换成10进制,这个16进制数是个大数,比如0x123456789ABCDEF12345这种

php编程:将26位字母进制转换为10进制数字,如何做?

怎么将4字节16进制转化成浮点数

将10进制数转化为2进制的C语言程序

在C语言中如何将10进制转换成16进制?