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
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE [WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE[WP7] JE NE VEUX PAS D'UN NOUVEL IPHONE par FREMYCOMPANY
Je pense qu'ils ont besoin d'une piqure de rappel chez Microsoft : c'est bien gentil d'avoir une interface jolie, mais si c'est pour avoir un truc qui ne convainct pas dedans, c'est peine perdue.
---->
Système ouvert ----> Fermé ?
P...
Cliquez pour lire la suite de l'article par FREMYCOMPANY
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|