ホームページ > バックエンド開発 > C++ > C で整数を 16 進文字列に変換するにはどうすればよいですか?

C で整数を 16 進文字列に変換するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-05 17:10:43
オリジナル
967 人が閲覧しました

How to Convert Integers to Hexadecimal Strings in C  ?

C での整数の 16 進文字列への変換

C では、 を使用して整数を 16 進文字列に変換できます。ヘッダーの std::hex マニピュレータ。変換された文字列の出力は std::cout を通じて実行できますが、std::stringstream の使用は結果を文字列としてキャプチャするためのオプションです。

std::hex を使用するには、単にそれを整数の前に挿入します。変換したい:

std::stringstream stream;
stream << std::hex << your_int;
std::string result(stream.str());
ログイン後にコピー

「0x」などの接頭辞を 16 進表現に追加することもできます。最初の挿入:

stream << "0x" << std::hex << your_int;
ログイン後にコピー

その他の興味深いマニピュレータは、std::oct (8 進数) と std::dec (10 進数) です。

潜在的な課題の 1 つは、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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート