C での整数の 16 進文字列への変換は、その単純さにもかかわらず、開発者にとって課題となる可能性があります。 C とは異なり、C にはこの変換のためのネイティブ メソッドがありません。
ただし、
std::cout << std::hex << your_int;
後で使用するために整数の 16 進文字列表現をキャプチャするには、std::stringstream オブジェクトの使用を検討してください。
std::stringstream stream; stream << std::hex << your_int; std::string result(stream.str());
上記の例では、最初の << に 0x プレフィックスを追加できます。
注目すべき追加のマニピュレータには、std::oct (8 進数) および std::dec (10 進数) が含まれます。
ただし、std::hex マニピュレータはデフォルトで文字列を生成します。必要な数の 16 進数のみを含む表現。特定の幅が必要な場合は、std::setfill と std::setw を使用できます。
stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;
最後に、整数から 16 進数への変換を処理する汎用関数を定義できます。
template< typename T > std::string int_to_hex( T i ) { std::stringstream stream; stream << "0x" << std::setfill ('0') << std::setw(sizeof(T)*2) << std::hex << i; return stream.str(); }以上がC で整数を 16 進文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。