Hexa

stgi02 Messages postés 90 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 6 décembre 2006 - 27 mars 2006 à 13:17
badboy38 Messages postés 95 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 4 mars 2013 - 27 mars 2006 à 18:01
salut,
j' ai une variable char qui reçu du décimal et j' aimerai que cette variable soit converti directement en hexa, j ai pensé a uiliser 0x mais cela ne fonctionne pas.

merci

2 réponses

Dvdmizo Messages postés 74 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 3 mai 2006
27 mars 2006 à 14:33
salut,



il n'y a pas de conversion particulière (si c'est bien un char et pas
une chaine de caractères) le simple fait de mettre une valeur dedans et
elle est automatiquement disponible en decimal ou en hexa (c'est la
même valeur il n'y a pas de différences)



par contre si tu veux l'afficher tu as le choix (juste pour l'exemple)



si tu as :



char c ; // un caractère, un code ou ce que tu veux



c = 48 ; // decimal



// pour l'afficher en décimal

printf("en decimal ça donne : %d", c) ; // affiche : 48


// pour l'afficher en caractère ASCII


printf("en decimal ça donne : %c", c) ; // affiche : '0'



// pour l'afficher en décimal


printf("en decimal ça donne : %X", c) ; // affiche : 30 (ce qui correspond à 0x30)



à noter que si tu utilises %x (<- x minuscule) toutes les
lettres qui peuvent se trouver dans ta valeur hexa seront écrites en
minuscules tandis que %X (<-X majuscule) les affichera en majuscules.



pour l'exemple j'ai utilisé la fonction printf après y'a d'autre moyens
de récupérer la valeur sous forme de chaine, mais pour ce qui est de la
valeur il n'y a aucune conversion à faire.



j'espère que ça t'aidera

DvdMizo
0
badboy38 Messages postés 95 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 4 mars 2013
27 mars 2006 à 18:01
Salut,



en fait, tu dois faire une boucle et utiliser les fonctions contenues
dans string.h pour comparer les valeurs les une après les autres, et
les multiplier par le multiple de 16 correspondant. Si ti commence par
le premier caractère, n'oublies pas avant de commencer de demander la
taille de la variable char (le nombre de caractère).

BadBoy38


<hr size="2" width="100%">--==OPEN.SOURCES.FREE.FR==--
0
Rejoignez-nous