Page 1 sur 1
[R] Base 36 calcul
Posté : dim. 25 mai 2008 23:15
par Yoyo86220
Bonsoir,
je voudrai que ma variable "$i" soit en base 36 c'est a dire:
0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
et quand on indique dans une boucle :
Code : Tout sélectionner
While 1
$i=$i+1
If $i= plus de 18 caractaires then ExitLoop ;<== voilà se que je voudrai fair aussi
FileWriteLine(...)
WEnd
Re: [..] Base 36 calcul
Posté : dim. 25 mai 2008 23:40
par Tlem
Vous mélangez numérique et alphanumérique.
Si vous utilisez :
vous ne pouvez pas utiliser :
puisque $i est une variable numérique et ne sera incrémentée que de un et non de 1 caractère !
En l'état, votre code n'a aucun sens.
Veuillez donner plus d'explications sur sa fonction ou son utilité.

Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 06:48
par Yoyo86220
oui il sera agrémenté de un bien entendu mais exemple:
0+1=1 <== 1 caractaires...
1+1=2
2+1=3
3+1=4
4+1=5
...
z+1=10 <== 2 caractaires...
...
zz+1=100 <== 3 caractaires jusqu'a
...
zzzzzzzzzzzzzzzzzz <== caractaires
se qui donne 18 puissance 36 possibilités je croix
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 06:58
par Tlem
Selon votre exemple, si :
z+1=10
alors combien font :
9+1=?
Votre demande n'est pas claire du tout.
Donnez plus de détails sur votre besoin, voir même faites le tableau de votre 'base 36', et au besoin expliquer ce que vous voulez faire car il existe peut être une solution plus simple.
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 07:07
par Yoyo86220
9+1=a
(c'est en base 36)
a+1=b
b+1=c
...
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 07:12
par Yoyo86220
se qui génèrai toutes les possibilités d'écriture avc (tout les chiffre et toute les lettres...) de maximum 18 caractaires... (il y en a pour un moment a mon avi sachant qu'il devra fair 18^36 calcul

)
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 07:55
par Tlem
Yoyo86220 a écrit :9+1=a
(c'est en base 36)
a+1=b
b+1=c
...
Autant pour moi ... J'avais pas les idées claires.
Voici votre solution :
http://www.autoitscript.com/forum/index ... st&p=94300
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 19:34
par Yoyo86220
Code : Tout sélectionner
$num = 0
#include <NumBaseConvert.au3>
While 1
$tu = _NumBaseConvert($num, 2, 36)
MsgBox(0, "", 'Nombre en Base 36 : ' & $tu)
$num = $num+1
WEnd
j'arrive à rien... si quelq'un à une idée... ne pas ésiter...
je pense avoir compri qu'il fau que le nombre $num soi en binnair... comment fair ?
sachant que je veux:
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 21:16
par Tlem
Hi hi hi, je suis content, car cette fois ci, c'est vous qui n'avez pas les yeux en face des trous ...
En effet, vous faites :
Or dans ce cas vous convertissez une base binaire (Base 2) en base 36.
Rectifiez votre base de départ en décimale et tout rentrera dans l'ordre.

Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 22:48
par Yoyo86220
^^ oui bien vu je n'y avais même pas pensé rien de plus simple

Solution:
Code : Tout sélectionner
#include <NumBaseConvert.au3>
$num=0
While 1
$tu = _NumBaseConvert($num, 10, 36)
If $tu > 18 caractères then Msgbox(1,"Info","C'est fini!")
FileWriteLine("c:\Pass.txt", $tu)
$num = $num+1
WEnd
autre question comment fair ceci? :
Re: [..] Base 36 calcul
Posté : lun. 26 mai 2008 22:54
par Tlem
Utilisez la fonction StringLen pour connaitre la longueur d'une chaîne.