pour convertir un nombre en hexa ou en decimal on peut utiliser sprintf : char buffer[16]; sprintf(buffer,"%d",0x1A5); ou char buffer[16]; sprintf(buffer,"%X",150);
------------------------------- Réponse au message : -------------------------------
Ca dépend pour quoi faire... A la base, les variables ne sont ni en héxa ni en décimal mais en binaire... Alors la conversion dépend de ton format de déparrt et le format auquel tu veux arriver.
Si c'est pour convertir une chaine, il faut que tu convertisse toi même.
char* Chaine; //Nombre en décimal int ValeurNumerique = 0;
for (int n = 1, x = 0 ; x < strlen(Chaine) ; x++) { ValeurNumerique += (Chaine[x] - '0') * n n *= 10; //remplace 10 par la base de départ
}
for (int x = 0 ; ValeurNumerique > 0 ; x++) { //remplace 16 par la base d'arrivé Chaine[x] = ValeurNumerique % 16; ValeurNumerique /= 16; }
Bon mon code ne s'adapte pas vraiment a tous les contextes a toi de voir la déclaration dynamique ou non de Chaine.
Je sais pas si j'ai répondu a ta question
Blustuff.
|