C++で16進数・10進数・8進数を変換するには

数値を16進数の文字列に変換する

    std::stringstream ss;
    ss << std::hex << 16777215;
    std::cout << ss.str() << std::endl; //=> ffffff

数値を8進数の文字列に変換する

    std::stringstream ss;
    ss << std::oct << 16777215;
    std::cout << ss.str() << std::endl; //=> 77777777

16進数の文字列を数値に変換する

    int n;
    std::istringstream("ffffff") >> std::hex >> n;
    std::cout << n << std::endl; //=> 16777215

8進数の文字列を数値に変換する

    int n;
    std::istringstream("77777777") >> std::oct >> n;
    std::cout << n << std::endl; //=> 16777215

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください