begin process at 2010 03 20 09:59:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > CONVERTIR UN NOMBRE DE BASE 10 EN BASE 36 ET L'INVERSE

CONVERTIR UN NOMBRE DE BASE 10 EN BASE 36 ET L'INVERSE


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Niveau :Débutant Date de création :24/01/2003 Date de mise à jour :24/01/2003 11:15:14 Vu :11 582

Auteur : Aurelyyy

Ecrire un message privé
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Pour les webmaster qui reprennent des BDD qui ont des tables aves des identifiants en base 36, et qu'ils veulent le remettre en base 10 ou l'inverse.

Source

  • <%
  • ''ces fonctions sont valable sur un nombre base 36 sur 3 positions :
  • ''déclaration de 2 tableaux :
  • dim Tb1 ()
  • dim Tb2 ()
  • Redim Tb1 (26)
  • Redim Tb2 (26)
  • Dim lettre
  • 'remplir tableau TB1 lettre TB2 Nombre
  • y = 65
  • i = 1
  • For i = 1 to 26
  • Tb1(i) = Chr(y) 'renvoie la valeur en donnant le code ascii
  • y = y + 1
  • Next
  • y = 10
  • For i = 1 to 26
  • Tb2 (i) = y
  • y = y + 1
  • Next
  • ''fin tableau
  • ''de base 36 en base 10
  • Public function base36 (nbr)
  • dim rslt, cpt, i
  • rslt = 0
  • cpt = 2
  • for z = 1 to 3
  • lettre = mid(Cstr(nbr),z,1)
  • if Isnumeric(lettre) = false then
  • i = 1
  • while Tb1(i) <> lettre and i <= 26
  • i = i + 1
  • wend
  • rslt = rslt + Tb2(i)*36^cpt
  • else
  • rslt = rslt + lettre*36^cpt
  • end if
  • cpt = cpt - 1
  • Next
  • base36 = rslt
  • end function
  • ''de base 10 en base 36
  • Public function base10 (nbr)
  • dim rslt, tmp, i
  • rslt = ""
  • while int(nbr mod 36) >= 1
  • if (nbr mod 36) >= 10 then
  • i = 1
  • while not Tb2(i) = (nbr mod 36) and i<= 26
  • i = i + 1
  • wend
  • tmp = Tb1(i)
  • else
  • tmp = (nbr mod 36)
  • end if
  • rslt = tmp&rslt
  • nbr = int(nbr/36)
  • wend
  • base10 = rslt
  • end function
  • %>
<%
''ces fonctions sont valable sur un nombre base 36 sur 3 positions :

''déclaration de 2 tableaux :

dim Tb1 ()
dim Tb2 ()
Redim Tb1 (26)
Redim Tb2 (26)
Dim lettre

'remplir tableau TB1 lettre TB2 Nombre

y = 65
i = 1
For i = 1 to 26
Tb1(i) = Chr(y) 'renvoie la valeur en donnant le code ascii
y = y + 1
Next

y = 10
For i = 1 to 26
Tb2 (i) = y
y = y + 1
Next

''fin tableau

''de base 36 en base 10

Public function base36 (nbr)
dim rslt, cpt, i

rslt = 0
cpt = 2

for z = 1 to 3
lettre = mid(Cstr(nbr),z,1)
if Isnumeric(lettre) = false then
	i = 1
	while Tb1(i) <> lettre and i <= 26
		i = i + 1
	wend
	rslt = rslt + Tb2(i)*36^cpt
else
	rslt = rslt + lettre*36^cpt
	
end if
cpt = cpt - 1
Next

base36 = rslt

end function



''de base 10 en base 36

Public function base10 (nbr)
dim rslt, tmp, i

rslt = ""

while int(nbr mod 36) >= 1

if (nbr mod 36) >= 10 then
i = 1
	while not Tb2(i) = (nbr mod 36) and i<= 26
		i = i + 1
	wend
	tmp = Tb1(i)

else
	tmp = (nbr mod 36)
end if

rslt = tmp&rslt

nbr = int(nbr/36)

wend

base10 = rslt

end function

%>

 



 Sources de la même categorie

Source avec Zip CARRÉ MAGIQUE par stankov
Source avec Zip Source avec une capture ZIPVIEWER - LISTER LE CONTENU D'UN ZIP par ghuysmans99
AFFICHER LES LIGNES D'UN DATATABLE DS UN ORDRE ALÉATOIRE par taillecrayon
Source .NET (Dotnet) SUITE DE NOMBRES ALESATOIRES DIFFERENTS par ErB
Source avec Zip CRYPTAGE ALPHA NUMÉRIQUE par MalcolMZ

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales