c++10进制和16进制转换的一种方法

利用c++标准库中的string和sstream可以完成这种转换,当然这只是一种可行的方法

#include 
#include 
#include 

std::string htoi(const std::string &hStr)
{
    return std::to_string(std::stoi(hStr, nullptr, 16));
}

std::string itoh(const std::string &iStr)
{
    std::stringstream ss;
    int temp = std::stoi(iStr, nullptr, 10);
    ss.setf(std::ios_base::hex, std::ios_base::basefield);
    ss.setf(std::ios_base::showbase);

    std::string result;
    ss << temp;
    ss >> result;
    return result;
}

//
int main()
{
    std::string h, i;
    std::cin >> h >> i;
    std::cout << htoi(h) << "\n"
              << itoh(i) << std::endl;

    return 0;
}

 

你可能感兴趣的:(c++)