J'ai donc changer mon code en celui ci :
- Code: Select all
Define base(n,b)=
Prgm
:Local r,s
:s:=""
:While n>0
:r:=n-b*int(((n)/(b)))
:s:=string(r)&s
:n:=int(((n)/(b)))
:EndWhile
:Disp s
:EndPrgm
Cela marche très bien pour toutes les bases <10 sauf qu'après avec la nécessité de nouveaux signe cela se complique.. J'ai donc fait quelques essais :
- Code: Select all
Define base(n,b)=
Prgm
:Local r,s
:s:=""
:While n>0
:r:=n-b*int(((n)/(b)))
:If r=10 Then
:r:=A
:Endif
:s:=string(r)&s
:n:=int(((n)/(b)))
:EndWhile
:Disp s
:EndPrgm
ça marche, j'arrive à afficher a à la place de 10 mais le "problème est qu'à l'enregistrement du programme A se change en a (exemple 8a2 au lieu de 8A2) et donc c'est pas ce que je cherche..
J'ai donc essayé d'écrire ça :
- Code: Select all
:r:="A"
Le soucis maintenant c'est que affiche 8"A"2 ..
Donc j'aimerais déjà régler ce problème, puis ensuite, savoir comment établir un logique pour que si r=11 alors r:=B puis sir r:=12 alors r:=C et ainsi de suite..
Merci