Soyez le premier à donner votre avis sur cette source.
Snippet vu 5 844 fois - Téléchargée 32 fois
# -*- 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
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.