- # -*- 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
# -*- 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