Ordre de lecture

Fermé
olocotrain Messages postés 3 Date d'inscription mercredi 26 mars 2008 Statut Membre Dernière intervention 17 août 2010 - 9 avril 2008 à 11:08
 amigo - 9 avril 2008 à 12:08
Bonjour,

je bloque concernant l'ordre de lecture d'une entrée au clavier.

Par exemple,
pour un programme convertissant une valeur hexa en décimal,j'aimerais obtenir:
entrée:"2C4" sortie:"708"

Si on commencait par taper 4,puis C,puis 2,ça serait facile: puissance 0,puis 1 puis 2.
Mais dans l'autre sens,comment faire puisqu'on ne sait pas à priori la valeur de la puissance de 16
pour "2" dans cet exemple?

Merci de vos suggestions au débutant(en programmation et en C) que je suis.

1 réponse

Bonjour,

Tu dois inverser la chaine de caractère, puis faire correspondre a chaque caractère sa valeur en décimal et multiplier par 16 a la puissance suivant le rang.

exemple: 2C4 -> inverser -> 4C2 -> longueur 3
caractere[0] -> 4 en decimal -> 4 -> 4*16^0 = 4
caractere[1] -> C en decimal -> 12 -> 12*16^1 = 192
caractere[2] -> 2 en decimal -> 2 -> 2*16^2 = 512
total : 4 + 192 + 512 = 708

Salut.
0