用c++编写一个函数实现数制的转换。在主函数中输入一个十进制数,输出相应的十六进制数。要求分别用数

用c++编写一个函数实现数制的转换。在主函数中输入一个十进制数,输出相应的十六进制数。要求分别用数组和递归实现... 用c++编写一个函数实现数制的转换。在主函数中输入一个十进制数,输出相应的十六进制数。要求分别用数组和递归实现 展开
 我来答
ring_year
2015-01-05 · TA获得超过1425个赞
知道小有建树答主
回答量:632
采纳率:80%
帮助的人:539万
展开全部
#include<iostream>
#include<algorithm>
using namespace std;
// array
string dec2hex(int x)
{
    string m;
    while(x != 0){
        int y = x %16;
        if(y >= 10)
            m.push_back(y-10+'A');
        else
            m.push_back(y+'0');
        x /= 16;
    }
    reverse(m.begin(),m.end());
    return m;
}
// iteration
string dec2hexd(int x)
{
    string ans;
    if(x < 16){
        if(x == 0){
            ans.push_back('0');
            return ans;
        }
        if(x < 10){
            ans.push_back(x+'0');
            return ans;
        }
        else{
            ans.push_back(x-10+'A');
            return ans;
        }
    }
    else{
        int t = x %16;
        if(t < 10)
            ans.push_back('0'+t);
        else
            ans.push_back(t-10+'A');
        if(x/16 != 0)
            return dec2hexd(x/16)+ans;
        else
            return ans;
    }
}
int main()
{
    cout<<dec2hex(100)<<endl;
    cout<<dec2hexd(100)<<endl;
    return 0;
}


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式