Accueil > > > CHANGEMENT DE BASE (BASE DÉCIMAL VERS EXADECIMAL)
CHANGEMENT DE BASE (BASE DÉCIMAL VERS EXADECIMAL)
Information sur la source
Description
Ce code permet de changer de base pour un nombre. Il a été écrit pour passer de la base exadecimale a la base decimale, mais en changeant la variable digit, vous pouvez configurer le programme pour qu'il passe d'une base décimale a une base octale, binaire ou une base 60 (si vous voulez vous amuser a trouver 1 digit pour chacun des 60, sa vous regarde :p ). Vous l'aurez compris c'est entierement parametrable.. Je sais que c'est un sujet bateau, mais bon, quand on a rien a faire hein..
Source
- # -*- coding: cp1252 -*-
- #Traduit un exa en decimal et visse-versa.
-
- #Les digits exa-decimaux (vous pouvez les changer pour faire un traducteur decimal-octal, binaire ou autre...Le reste du programme s'adapte tout seul.)
- digits = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]
-
- #Ca retranscrit une table (ex: [14,12,8]) en nombre exa.(ex: 8ce).
- #Attention! le tableau doit etre inverse!!
- def table2exa(table,size):
- c = 1
- nombre = ""
- while c <= size:
- valeur = table[-c]
- c = c + 1
- nombre = nombre + digits[valeur]
- return nombre
-
- #Je ne connait pas la methode 'normale' pour les exposants, alors j'ai créé la mienne.
- def exposant(a,b):
- c = 0
- r = 1
- while c < b:
- r = r * a
- c = c + 1
- return r
-
- #Cette classe definit un nombre decimal.
- class nDecimal:
- nombre = 0
- def __init__(self,valeur):
- self.nombre = valeur
- def translate(self):
- n = self.nombre
- m = 0
- nexa = []
- s = 0
- si = digits.index(digits[-1],-1)+1
- while n != 0:
- s = s + 1
- m = n % si
- n = n / si
- nexa = nexa + [m]
- nombre = table2exa(nexa,s)
- return nombre
- #Cette classe définit un nombre exadecimal.
- class nExadecimal:
- nombre = ""
- def __init__(self,valeur):
- self.nombre = valeur
- def translate(self):
- nombre = self.nombre
- size = nombre.rfind(nombre[-1])+1
- ns = ""
- s = 0
- while s < size:
- s = s + 1
- ns = ns + nombre[-s]
- nombre = digits.index(ns[0])
- si = digits.index(digits[-1],-1)+1
- s = 1
- while s < size:
- nombre = nombre + digits.index(ns[s]) * exposant(si,s)
- s = s + 1
- return nombre
# -*- coding: cp1252 -*-
#Traduit un exa en decimal et visse-versa.
#Les digits exa-decimaux (vous pouvez les changer pour faire un traducteur decimal-octal, binaire ou autre...Le reste du programme s'adapte tout seul.)
digits = ["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]
#Ca retranscrit une table (ex: [14,12,8]) en nombre exa.(ex: 8ce).
#Attention! le tableau doit etre inverse!!
def table2exa(table,size):
c = 1
nombre = ""
while c <= size:
valeur = table[-c]
c = c + 1
nombre = nombre + digits[valeur]
return nombre
#Je ne connait pas la methode 'normale' pour les exposants, alors j'ai créé la mienne.
def exposant(a,b):
c = 0
r = 1
while c < b:
r = r * a
c = c + 1
return r
#Cette classe definit un nombre decimal.
class nDecimal:
nombre = 0
def __init__(self,valeur):
self.nombre = valeur
def translate(self):
n = self.nombre
m = 0
nexa = []
s = 0
si = digits.index(digits[-1],-1)+1
while n != 0:
s = s + 1
m = n % si
n = n / si
nexa = nexa + [m]
nombre = table2exa(nexa,s)
return nombre
#Cette classe définit un nombre exadecimal.
class nExadecimal:
nombre = ""
def __init__(self,valeur):
self.nombre = valeur
def translate(self):
nombre = self.nombre
size = nombre.rfind(nombre[-1])+1
ns = ""
s = 0
while s < size:
s = s + 1
ns = ns + nombre[-s]
nombre = digits.index(ns[0])
si = digits.index(digits[-1],-1)+1
s = 1
while s < size:
nombre = nombre + digits.index(ns[s]) * exposant(si,s)
s = s + 1
return nombre
Conclusion
Il n'y a pas beaucoup de commentaires mais c'est un code facile, et si vous avez des quetsions je peu y repondre.
Historique
- 29 novembre 2005 21:20:15 :
- Mots clés ajoutés.
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
instruction de base sous Python de transfert de fichiers [ par dgpgl ]
Comment transferer des fichiers par xxx.jpeg depuis un PC windows sur une machine linux... a l'adresse xxx.ccc.com qui est ouverte via un port s
Ouverture d'un fichier windows (avec Tkinter) [ par Uims ]
Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati
[python] py2exe et plotting (gnuplot) [ par xeben ]
Salut a tous, J'ai créé une petite application en python/pyQt dans laquelle je visualise des donnees avec gnuplot. J'inclus donc dans le se
Compilation des fichiers sources pyhton en executables sous windows [ par 3edbill69 ]
J'ai fait une recherche et j'ai trouvé qu'il y avait des compilateurs pour les fichiers .py qui donnent des executables indépendants de pyth
python et compilateurs [ par magicbisousnours ]
Bonjour j'aimerai savoir quel programme utiliser pour développer du Python je dispose de Visual C++ 6.0 et Visual studio .Net 2003et comme je débute e
Aide en creation de script sur Python [ par parisien ]
Bonjour, Comment faire un whois en python. Existe t-il un module whois dont on pourrait faire un import. Help PLEASE
Recherche devlopeur python sous blender . [ par nocide ]
Bonjours, je m'appelle Guillaume, Je suis le fondateur de la team "fairtoon" . Cette team à pour but de Réaliser des simulateurs de fét
visual python [ par xilure ]
je voudrai savoir ou je peux le telecharger et comment s'en sert on (comme Tkinter?) voila merci d'avance ps j'en profite pour renouveler ma questio
Python peut être interpreté par un navigateur comme dans html [ par rabikisa ]
Est-ce possible d'interpreter python à partir d'un navigateur si on utilise une base de données gadfly?(comme les pages html quoi...)si possible comme
Installer Scons Python [ par neophenix83 ]
Bonjour,Je souhaite installer Scons pour compiler certains programmes, mais j'ai un petit problème.J'ai tout d'abord installé python2.4.2 &#
|
Derniers Blogs
[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7[WP7] AJOUTER DES IMAGES DANS LA MEDIA LIBRARY D'UN WINDOWS PHONE 7 par Audrey
L'émulateur Windows Phone 7, fourni avec la version Beta des outils développeurs n'inclut aucune image dans sa bibliothèque. Pas très pratique de tester son application lorsque l'on souhaite que l'utilisateur puisse choisir une image présente dans le télé...
Cliquez pour lire la suite de l'article par Audrey VIVE LES MOCKS ET LES POCOSVIVE LES MOCKS ET LES POCOS par vLabz
J'observe régulièrement autour de moi de la confusion à propos de ces deux termes et j'aimerais juste rappeler ce qu'ils signifient. Je ne suis bien sûr pas le mieux placé pour faire une leçon mais je vais faire de mon mieux pour mettre en valeur ce q...
Cliquez pour lire la suite de l'article par vLabz [WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5)[WF4] WORKFLOW AND CUSTOM ACTIVITIES - BEST PRACTICES (4/5) par JeremyJeanson
Vendredi dernier Microsoft a publié le quatrième épisode des bonnes pratiques pour coder ses activités custom dans WF4 : endpoint.tv - Workflow and Custom Activities - Best Practices (Part 4) . Tout comme pour les précédents épisodes, j'ai pris le temps d...
Cliquez pour lire la suite de l'article par JeremyJeanson DéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONSDéVELOPPEMENT MOBILE : .NET COMPACT FRAMEWORK & LIMITATIONS par Pi-R
Introduction :
Le développement d'applications mobiles est quelque peu différent du développement d'applications sous Windows. En effet, le développement d'applications mobiles se base sur le .NET Compact Fra...
Cliquez pour lire la suite de l'article par Pi-R IPHONE VERSUS WP7 CODINGIPHONE VERSUS WP7 CODING par Nicolas
Je relais une présentation sur slideshare.net, qui compare le développement sur Iphone et Windows Phone 7, qui ma fait sourire. I phone versus windows phone 7 coding View more presentations from www.donburnett.com. J'aurais bien aimé une comparai...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
Xilisoft HD Vidéo Convertisseur 6 (6.0.3.0421)XILISOFT HD VIDéO CONVERTISSEUR 6 (6.0.3.0421)Xilisoft HD Vidéo Convertisseur est un outil professionnel de conversion HDTV, conçu pour transfo... Cliquez pour télécharger Xilisoft HD Vidéo Convertisseur 6 Xilisoft MP4 Convertisseur 6 (6.0.2.0415)XILISOFT MP4 CONVERTISSEUR 6 (6.0.2.0415)Xilisoft MP4 Convertisseur est un outil puissant pour la conversion de vidéo MP4, qui peut conver... Cliquez pour télécharger Xilisoft MP4 Convertisseur 6 Vade Retro Desktop (3.03)VADE RETRO DESKTOP (3.03)Le logiciel antispam Vade Retro pour Microsoft Outlook®, Outlook Express® et Windows Mail®(Vista)... Cliquez pour télécharger Vade Retro Desktop Malwarebytes Anti Malwares (1.46)MALWAREBYTES ANTI MALWARES (1.46)Malwarebytes' Anti-Malware est un anti-malware qui peut éliminer même les plus avancés des logic... Cliquez pour télécharger Malwarebytes Anti Malwares
|