c++10進数と16進数変換の1つの方法

797 ワード

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) << "
" << itoh(i) << std::endl; return 0; }