Programme python convertisseur

Fermé
Robzs - 21 oct. 2019 à 14:07
jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 - 22 oct. 2019 à 13:06
Bonjour je doit créer un fonction qui prend en argument un hexadécimal pour le convertir en décimal sans utiliser de fonction déjà existante juste des boucles et des opérations de calculs.
J ai réussi une fonction qui convertit un décimal en hexa mais la je bloque...
Merci
A voir également:

2 réponses

jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 224
Modifié le 21 oct. 2019 à 16:10
Bonjour,

Les méthodes et solution peuvent être nombreuses.

Tu pourrais :
- faire une boucle sur chaque caractère de la chaine entrée
- vérifier que c'est bien un caractère hexa
- convertir le caractère de 0 ... F en sa valeur décimale (d) 0 ... 16
- suivant la position (p) du caractère, en partant de la droite et commençant à zéro, calculer la valeur du caractère décimal en puissance de 16 ==> v = d * 16^p
- ajouter cette valeur dans un cumul

exemple h'AF2' = (10 * 16^2) + (15 * 16^1) + (2 * 16^0) = 2802

Cdlt
1
Merci je crois que J ai compris mais quand je définis ma fonction
def f(b) :
.. ..
Comment faire pour que b soit un hexadécimal (ex:F43)
0
jee pee Messages postés 39582 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 17 avril 2024 9 224
22 oct. 2019 à 13:06
b reste une chaine de caractères, on ne le traite pas en variable héxa, on prend une chaine qui contient un nombre exprimé en caractères hexa
0