Maison >développement back-end >C++ >Comment convertir des entiers en chaînes hexadécimales en C ?

Comment convertir des entiers en chaînes hexadécimales en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-05 17:10:43957parcourir

How to Convert Integers to Hexadecimal Strings in C  ?

Conversion d'entiers en chaînes hexadécimales en C

En C, la conversion d'un entier en chaîne hexadécimale peut être réalisée à l'aide de l'outil le manipulateur std::hex de l'en-tête. L'impression de la chaîne convertie peut être effectuée via std::cout, tandis que l'utilisation de std::stringstream est une option pour capturer le résultat sous forme de chaîne.

Pour utiliser std::hex, insérez-le simplement avant l'entier que vous souhaitez convertir :

std::stringstream stream;
stream << std::hex << your_int;
std::string result(stream.str());

Vous pouvez également ajouter des préfixes à la représentation hexadécimale, tels que "0x", en l'incluant dans le premier insertion :

stream << "0x" << std::hex << your_int;

D'autres manipulateurs intéressants sont std::oct (octal) et std::dec (décimal).

Un défi potentiel consiste à garantir que la chaîne hexadécimale a un nombre cohérent de chiffres. Pour résoudre ce problème, vous pouvez utiliser std::setfill et std::setw:

stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;

Enfin, voici une fonction suggérée pour convertir des entiers en chaînes hexadécimales :

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();
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn