Modification d'un exemple depose par Marvin.
Insertion d un nombre en base 10 , translation vers les bases 2 a 16.
Insertion d un nombre en une base X , translation en base 10.
Source / Exemple :
# -*- coding: cp1252 -*-
#modification par jean-yves Aout 2005, repris depuis Marvin
#vers 0.2 !!sauvegarder ce fichier avec le nom "base_dj" pour fonctionner avec l interface !!
#Traduit un exa en decimal et visse-versa.
#
#Les digits exa
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: ['8','c','e']).
#inverse la table pout travailler sur unite en premier
def table2exa(table,b):
c = 1
nbre=str(b)+"' " #permet de savoir en quel base est calcule le resultat
nombre = ""
while c <= len(table):
valeur = table[-c] #permet de calculer les unites avant les dizaines,...
nombre = nombre + (digits[valeur])
c = c + 1
nbre= nbre + nombre
return nbre
#Cette classe definit un nombre decimal.
class nDecimal:
"conversion d un nombre decimal en une autre base definie "
def __init__(self,valeur='0',b=16):
self.nombre = int(valeur)
self.base=b
def translate(self):
n = self.nombre
b = self.base
m = 0
nexa = []
s = 0
si = b #defini la base de travail sur la liste digits
while n != 0:
m = n % si
n = n / si
nexa = nexa + [m]
nombre1 = table2exa(nexa,b)
return nombre1
#Cette classe définit un nombre de n importe quel base en base 10.
#
# ex: x=NXdecimal(1010101,2)
# x.translate()
# 85
class NXdecimal:
nombre = ""
def __init__(self,valeur,base=16):
self.nombre = valeur
self.base =base
def translate(self): #defini dans quel base le nbre est
nombre =self.nombre
base=self.base
size = len(nombre)
ns = 0
s = 0
c=1
while s < size:
n1=digits.index(nombre[size-c])*base**s
ns = ns + n1
s+=1
c+=1
return ns
Conclusion :
Une interface graphique est dispo
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.