首页 > 其他 > 详细

递归进制转换

时间:2016-02-23 17:09:56      阅读:132      评论:0      收藏:0      [点我收藏+]

算法问题总是很复杂,我每次都觉得会了,每次一到稍微涉及一点儿算法的地方都要想好久。

 

以下 10进制转换成2进制:

 

#include <iostream>

void tenToB(int a);
void packageForT2B(int a);
int main() {
    
    packageForT2B(13);
    packageForT2B(6);
    return 0;
}

void packageForT2B(int a){
    printf("输入的十进制数字是%d,它的二进制形式是:\n",a);
    tenToB(a);
    printf("\n");
}
void tenToB(int a){
    int rest=a%2;
    if(a/2>2){
        tenToB(a/2);
    }else{
        printf("%d",a%2);
    }
    printf("%d",rest);
}

 

10进制转化成16进制。

示例代码:

#include <iostream>

void tenToHex(int a);

void function1(void);

void packageForT2H(int a);
int main() {
    //function1
    
    packageForT2H(100);
    packageForT2H(239);
    return 0;
}
void function1(void){
    char str[]={"0123456789ABCDEF"};
    printf("%c",str[15]);
    printf("%c",str[8]);
    printf("%c",str[1]);
}

void packageForT2H(int a){
    printf("输入的十进制数字是%d,它的16进制形式是:\n",a);
    tenToHex(a);
    printf("\n");
    
}

void tenToHex(int a){
    char str[]={"0123456789ABCDEF"};
    int rest=a%16;
    if(a/16>16)
    {
        tenToHex(a/16);
    }
    else{
        printf("%c",str[a/16]);
    }
    printf("%c",str[a%16]);
    
}

运行结果:

技术分享

 

递归进制转换

原文:http://www.cnblogs.com/letben/p/5210521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!