Convertir une lettre en chiffre
Fermé
l-vvv
Messages postés
3
Date d'inscription
lundi 6 janvier 2014
Statut
Membre
Dernière intervention
13 février 2017
-
13 févr. 2017 à 19:47
_Ritchi_ Messages postés 21288 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 11 novembre 2024 - 4 mars 2017 à 17:30
_Ritchi_ Messages postés 21288 Date d'inscription samedi 17 mars 2007 Statut Contributeur Dernière intervention 11 novembre 2024 - 4 mars 2017 à 17:30
A voir également:
- Convertir lettre en chiffre python
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Convertir youtube en mp3 avec audacity - Guide
- Excel trier par ordre croissant chiffre - Guide
3 réponses
hcp7kuz
Messages postés
243
Date d'inscription
mardi 18 août 2015
Statut
Membre
Dernière intervention
23 mars 2019
23
Modifié par hcp7kuz le 3/03/2017 à 19:32
Modifié par hcp7kuz le 3/03/2017 à 19:32
Salut,
la fonction replace() ?
la fonction replace() ?
ton_nombre_sous_form_de_chaine = ton_nombre_sous_form_de_chaine.replace("a", "11")
_Ritchi_
Messages postés
21288
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
11 novembre 2024
6 077
Modifié par _Ritchi_ le 4/03/2017 à 11:02
Modifié par _Ritchi_ le 4/03/2017 à 11:02
Bonjour,
La conversion d'un nombre hexa sous forme de chaine de caractère vers un nombre décimal se fait ainsi:
exemple avec '91FC' (en hexa): il faut lire la chaine à l'envers, de droite à gauche. En faisant cela, on obtient ceci:
Rappel: le caractère ^signifie 'puissance'.
Maintenant, il faut juste traduire C par 12 et F par 15 pour que le calcul te donne un entier décimal.
Pour faire cette traduction, quoi de mieux qu'un ... dictionnaire où tu traduis chaque valeur hexa en décimal:
Maintenant, il te faut lire ta chaine hexa à l'envers, en commençant par le dernier caractère. Et pour cela, quoi de mieux qu'une boucle "for".
Je te laisse chercher encore et si cela t'intéresse toujours, je te donnerai ma boucle for qui tient sur une seule ligne.
A+
Ritchi
La conversion d'un nombre hexa sous forme de chaine de caractère vers un nombre décimal se fait ainsi:
exemple avec '91FC' (en hexa): il faut lire la chaine à l'envers, de droite à gauche. En faisant cela, on obtient ceci:
'C' * 16^0 + 'F' * 16^1 + '1' * 16^2 + '9' * 16^3
Rappel: le caractère ^signifie 'puissance'.
Maintenant, il faut juste traduire C par 12 et F par 15 pour que le calcul te donne un entier décimal.
Pour faire cette traduction, quoi de mieux qu'un ... dictionnaire où tu traduis chaque valeur hexa en décimal:
dico_hex2dec = {'0' : 0, '1' : 1, '2' : 2, '3' : 3, '4' : 4, '5' : 5, '6' : 6, '7' : 7, '8' : 8, '9' : 9, 'A' : 10, 'B' : 11, 'C' : 12, 'D' : 13, 'E' : 14, 'F' : 15}
Maintenant, il te faut lire ta chaine hexa à l'envers, en commençant par le dernier caractère. Et pour cela, quoi de mieux qu'une boucle "for".
Je te laisse chercher encore et si cela t'intéresse toujours, je te donnerai ma boucle for qui tient sur une seule ligne.
A+
Ritchi
_Ritchi_
Messages postés
21288
Date d'inscription
samedi 17 mars 2007
Statut
Contributeur
Dernière intervention
11 novembre 2024
6 077
4 mars 2017 à 17:30
4 mars 2017 à 17:30
Salut
Allez voici ma proposition en Python 3.6:
Ritchi
Allez voici ma proposition en Python 3.6:
# -*- coding: utf-8 -*- def Hex2Dec(nbhex): return sum([16 ** i * int(dico_hex2dec[nbhex[::-1][i]]) for i in range(len(nbhex))]) dico_hex2dec = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, 'A': 10, 'B': 11, 'C': 12, 'D': 13, 'E': 14, 'F': 15, 'x': 0} # exemple: hexa = '0xDEAD' decimal = Hex2Dec(hexa) print('la valeur', hexa, 'vaut', decimal, 'en décimal')
Ritchi