微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C++中十进制转十六进制

如何解决C++中十进制转十六进制

昨天我写了一个将十进制转换为十六进制的程序。

但是我没有满足我的代码,因为我认为我的代码需要别的东西。 我想知道这个转换的另一个解决方。(例如,使用商和余数,使用函数或其他东西)

你能帮我吗?

//我真的很抱歉我的英语水平。

这是我的代码

#include<iostream> 
#include<math.h>

using namespace std;

int main()
{
    char ch[17] = "0123456789ABCDEF";
    int power,num;
        
    cout << "Enter A Number: ";
    cin >> num;
    cout << "Hexadecimal Number: ";

    //16^1to16^10 but you can find as you want eg-to 16^15...
    for(int i=1;i<11;i++)
    {
        power = pow(16,i);
        if(power > num)
        {
            for(int k=0;k<i;k++) //for hex num//if i=3,there will be two hex 
            {
                power = pow(16,(i-1)-k);    
                for(int j=15;j>=0;j--)
                {
                    power *= j;
                    if(power<=num)
                    {
                        cout << ch[j];
                        num = num-power;
                        break;
                    }
                    power = pow(16,(i-1)-k);
                }
            }
        break;
        }
    }
}

解决方法

你可以从十进制到十六进制

std::stringstream ss;
ss<< std::hex << decimal_value; // int decimal_value
std::string res ( ss.str() );

std::cout << res;

从此topic 一定要先搜索。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。