Il s'agit d'un programme, de Pierrotdu18 09/01/2014, qui convertit les décimaux entiers dans différentes bases.
Je l'ai "piqué" et j'ai ajouté un code qui convertit la partie décimale dans le cas d'un entier à virgule.
le programme de Pierrot reçoit (a,d)
a=entier à convertir
d=base de la conversion
Mon code: "peut être il y a mieux"
- Code: Select all
tabl:=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]:
If d=2 and int(a)≠a Then:
avirgule:=a-int(a):
j:=1:
While j<10:
If int(avirgule*2)=0 Then:
tabl[1,j]:=0
:EndIf:
If int(avirgule*2)=1 Then:
tabl[1,j]:=1:
EndIf:
avirgule:=avirgule*2-int(avirgule*2):
If avirgule=0.5 Then:
tabl[1,1+j]:=1:
Exit:
EndIf:
j:=j+1:
EndWhile:EndIf:
a:=int(a)
Exemple:28,8625
Le programme de Pierrot,pour 28 renvoie la conversion sous la forme:"11100"
Mon code renvoie pour 8625 la conversion sous la forme [11011100100....]
Mon problème: j'ai tout essayé pour avoir la forme: 11100,11011100100.... mais je n'y arrive pas !
En plus il y'a des zéros de queue car la matrice ne permet pas de se remplir petit à petit comme une liste.
Avec une liste il y a les accolades les virgules de séparation etc...
Merci d'avance pour une solution