Conversion hexadécimal en décimal

Fermé
MaximeTestori Messages postés 10 Date d'inscription mardi 20 mai 2014 Statut Membre Dernière intervention 28 avril 2015 - 28 avril 2015 à 16:06
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 30 avril 2015 à 00:40
Bonjour à tous,

Je travaille sous MPLABX et je voudrais écrire un programme en C permettant de convertir un nombre hexadécimal sous 2 digits en décimal.
Je pensais donc mettre ces deux digits dans un tableau où le premier je le multipliais par 16 si c'est un chiffre entre 0 et 9 et si c'est une lettre entre A et F elle est remplacée par le nombre correspondant.
Le principe est le même pour le deuxième digit mais je le multiplie par 1 si c'est un chiffre.
Voilà mon idée mais je ne suis pas très doué en programmation. Auriez vous des propositions plus simples et pouvez vous me dire comment écrire tout ça?

Merci
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
30 avril 2015 à 00:40
Bonjour,

Non, ton idée est la plus simple (si tu cherches à la programmer, cf. ma remarque en bas de post).
Exemple :
<code>"5F"
Tu récupères 'F'. La table te retourne 15
Tu multiplies 15 par 16 => 240
Tu récupères '5'. La table te retourne 5
Tu additionnes 5 et 240 => 245
La conversion de "5F" en décimal donne 245.

Je te laisse écrire l'algorithme ou pondre ton programme en C pour qu'on te corrige.

Note : tu peux aussi utiliser strtol() pour la conversion.

Cdlt,
0