CHANGEMENT DE BASE (BASE DÉCIMAL VERS EXADECIMAL)

Signaler
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
Messages postés
1
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
15 février 2010
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27211-changement-de-base-base-decimal-vers-exadecimal

Messages postés
1
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
15 février 2010

Bonjour,
Le code précédent bien appréciable, mais il y'a une tite erreur,
au lieu de "hex+=hexa_car(nb%16)# dernier chiffre a droite",
il faut "hex=hexa_car(nb%16)+hex",
sinon au delà de 256, les derniers chiffres sont intervertis
(pour 257 on a 110 en hexa au lieu de 101).

Bon code, avec mes bénédictions :-) !
Messages postés
12
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
13 décembre 2006

Je propose cela :
def hexa_car(r): # r de 0 a 15
if r<10 : return str(r) # de 0 a 9
else :return chr(r+55) # de A a F

def hexa(nb):
hex=""
while nb>=16 : # on divise par seize,
hex+=hexa_car(nb%16)# dernier chiffre a droite,
nb= nb/16 # on passe aux chiffres suivants
return hexa_car(nb%16)+hex
Messages postés
2
Date d'inscription
vendredi 29 juillet 2005
Statut
Membre
Dernière intervention
14 avril 2009

Petites modifications sur ton code A+
Messages postés
35
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Erf desolé, bug de codes-sources ^^
Afficher les 13 commentaires