Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 53088
Réponses : 71
Type : discussion
Etat : réponses autorisées

Conversion décimal, binaire et hexadécimal - Page 1 / 2

vin le 19/10/2005 à 15:51
Salut tous le monde
Je suis nouveau et content d'avoir trouver un bon site qui me convient car sur certain de mes programmes je me suis casser la tête alors que des comme celui la propose déjà pas mal.

Pour information le programme Decabin du site ne fonctionne pas. Il marque que des 1.

Bon voila, j'ai fait un programme sur la conversion déc, bin et hexa.Je l'envoie pas tout de suite car j'ai pas encore copié le code mais j'ai trouver une manière plus simple.
Avec Ti-Graph Link, on tape le code puis on enregistre et on peut l'utiliser dans l'émulateur.
Donc est-ce que c'est possible que j'envoie le code dans un fichier *.82
webmaster le 19/10/2005 à 17:01
Bonjour,

Pour convertir les *.82p en code lisible par les humains, il suffit de l'ouvrir avec TI-Graph Link, de copier le texte qui apparait dans la fenêtre dans le bloc note, et remplacer les "ü" par " -> " !

@+ Le Webmaster et bienvenue sur le site, nous attendons ton programme ! beer.gif
webmaster le 19/10/2005 à 17:27
Le programme "Decabin" vient d'être supprimé à la suite de ta remarque. (Si j'en ai le temps, j'en referais un autre !)
Tu n'as qu'à envoyer le fichier *.82p à tout82@free.fr et je le metterais en ligne avant ce soir.

@+ Le Webmaster beer.gif

PS : Ce programme est compatible TI-82 et TI-82 STATS ?
vin le 21/10/2005 à 12:06
Bonjour

Amélioration de mon programme happy.gif
Restriction des entrées et possiblité de convertir en bin après hex>dec ou hex après bin>dec.

Voila le code
Code
:Lbl 0
:0->Z
:Menu("GE:","HEX > DEC",A,"DEC > HEX",B,"DEC > BIN",C,"BIN > DEC",D,"QUITTER",Z)
:
:Lbl A
:ClrList L1,L2
:ClrHome
:10->A:11->B:12->C:13->D:14->E:15->F
:Disp "*-HEX > DEC----*"
:0->S
:Input "NB CHIFFRE=",G
:G->dim L1
:For(I,1,G)
:Repeat H[supérieur ou égal]0 and H[inférieur ou égal]15
:ClrHome
:Disp "*-HEX > DEC----*","NB"
:Output(2,4,I)
:Prompt H
:int H->H
:If H<0 or H>15
:Then:Output(5,4,"ERROR:")
:If H<0:Output(5,11,"H<0")
:If H>15:Output(5,11,"H>15")
:Pause
:End
:H->L1(I)
:End
:16^(G-I)->L2(I)
:S+L1(I)*L2(I)->S
:End
:5->K:0->L
:Output(7,1,"HEX=")
:For(J,1,G)
:If L1(J)>0:1->L
:If L1(J)[supérieur ou égal]10:K+1->K
:If L1(J)=10:Output(7,K,"A")
:If L1(J)=11:Output(7,K,"B")
:If L1(J)=12:Output(7,K,"C")
:If L1(J)=13:Output(7,K,"D")
:If L1(J)=14:Output(7,K,"E")
:If L1(J)=15:Output(7,K,"F")
:If L1(J)<10 and L=1
:Then:K+1->K:Output(7,K,L1(J))
:End
:End
:Output(8,1,"DEC=")
:Output(8,6,S)
:Pause
:ClrHome
:Menu("> BIN","NON",0,"OUI",1)
:Lbl 1
:1->Z
:Goto C
:
:Lbl D
:ClrHome
:ClrList L1,L2
:Disp "*-BIN > DEC----*"
:0->S
:Input "NB CHIFFRE=",G
:G->dim L1
:For(I,1,G)
:Repeat H=0 or H=1
:ClrHome
:Disp "*-BIN > DEC----*","NB"
:Output(2,4,I)
:Prompt H
:int H->H
:If H<0 or H>1
:Then:Output(5,4,"ERROR:")
:If H<0:Output(5,11,"H<0")
:If H>1:Output(5,11,"H>1")
:Pause
:End
:H->L1(I)
:End
:2^(G-I)->L2(I)
:S+L1(I)*L2(I)->S
:End
:Disp "","",""
:Output(6,1,"BIN SUR")
:Output(6,9,G)
:Output(6,12,"BITS"
:Pause L1
:Output(8,1,"DEC=")
:Output(8,6,S)
:Pause
:Menu("> HEX","NON",0,"OUI",2)
:Lbl 2
:1->Z
:Goto B
:
:Lbl B
:ClrHome
:Disp "*-DEC > HEX----*","MAX=4294967295"
:If Z=0
:Then:Prompt S
:Else:Disp "S=":Output(3,4,S)
:End
:ClrList L1,L2
:If S<16^8
:Then
:{16^7,16^6,16^5,16^4,16^3,16²,16}->L1
:Disp "","HEX="
:For(I,1,7)
:int (S/L1(I))->L2(I)
:S-L1(I)*L2(I)->S
:End
:S->L2(8)
:5->A:0->B
:For(J,1,8)
:If L2(J)>0:1->B
:If L2(J)[supérieur ou égal]10:A+1->A
:If L2(J)=10:Output(5,A,"A")
:If L2(J)=11:Output(5,A,"B")
:If L2(J)=12:Output(5,A,"C")
:If L2(J)=13:Output(5,A,"D")
:If L2(J)=14:Output(5,A,"E")
:If L2(J)=15:Output(5,A,"F")
:If L2(J)<10 and B=1
:Then:A+1->A:Output(5,A,L2(J))
:End
:End
:Else
:Output(5,3,"ERROR: S>MAX")
:End
:Pause
:ClrHome
:Goto 0
:
:Lbl C
:ClrHome
:Disp "*-DEC > BIN----*","MAX=4294967295"
:If Z=0
:Then:Prompt S
:Else:Disp "S=":Output(3,4,S)
:End
:ClrList L1,L2
:If S<2^32
:Then
:For(I,0,31)
:2^(31-I)->L1(I+1)
:End
:0->A:0->B
:Disp "","BIN SUR"
:For(J,1,32)
:int (S/L1(J))->L2(J)
:If L2(J)=1
:Then:1->B:S-L1(J)->S
:If A=0:J->A
:End
:End
:Output(5,9,33-A)
:Output(5,12,"BITS")
:For(K,1,33-A)
:If K[inférieur ou égal]16
:Then:Output(6,K,L2(K+A-1))
:Else:Output(7,K-16,L2(K+A-1))
:End
:End
:Else
:Output(5,3,"ERROR: S>MAX")
:End
:Pause
:ClrHome
:Goto 0
::
:Lbl Z
:ClrHome


@+
Mwa le 29/09/2006 à 22:53
Un peu long kan meme sans le cable ^^
ratuss le 30/09/2006 à 09:25
Ca s'apprend, un prog comme ca si tu tapes vite en 20 mn il est fini...

Encore une fois un bel avantage d'avoir le cable godgrace.gif

@+
Sangohan38 le 30/09/2006 à 11:16
vive le cable et la programmation rapide.

pour un jeux de 2000 octets et en réfléchissant, il me faut environ 4 heure.
error argument le 11/12/2006 à 11:19
Bonjour,
Je viens de taper ce progarmme dans ma calculette et une fois que je le lance il me mets "error argument" je fais goto et le curseur est sur la derniere parenthese de la 3eme ligne, je l'a supprimr pour voir si a le fait toujours et il me mets la même erreur mais pour le Z qui est à coté donc en fait il ne comprend pas la ligne entiere si je comprend bien.
Pouvez vous me donner une solution svp car j'en ai besoin le prof d'éléc exige de l'avoir et c'est le seul que j'ai trouver, merci.
Sangohan38 le 11/12/2006 à 17:32
tu n'aurais pas inverser la virgule précédent le Z avec les guillemets par hasard?

Sangohan38
shika33 le 12/12/2006 à 07:25
C'est vrai c'est une faute de guillemet oublié dans la ligne, je teste, le menu s'affiche mais quand je veux faire une conversion par exemple hexa en decimal il mets error et c'est un probleme de signe, car dans le programme à un moment il y a marqué "supérieur ou égal" et moi j'ai mis le signe mathématique mais apparement il ne comprend pas le signe et vu que c'est écrit en minuscule il faut pas l'écrire et puis ce serai pas logique donc voila dites moi si vous voyez, merci.
Sangohan38 le 12/12/2006 à 13:23
Pourtant, il faut mettre le signe mathématique et cela devrait marcher même si le prog est faut.
Regarde si tu n'as pas oublier quelque chose dans le programme, l'erreur peut provenir d'un autre endroit.

Sangohan38
shika33 le 12/12/2006 à 18:42
Il fallait supprimmer les crochets. bigmouth.gif
N'empeche merci pour ce programme il est genial, je me demande encore comment tu as pu faire ce truc dément, t'es un genie c'est pas possible. ahh.gif
unknow le 12/12/2006 à 21:57
nan tout simplement il n'y a pas de parentheses a la fin d'un menu.
Sangohan38 le 13/12/2006 à 13:01
Tu n'as pas lu l'article de Ratuss.
Il est marquer que cela ne sert à rien la parenthèse car c'est la fin d'une ligne.
Regarde touts les progs (en tout cas les miens) n'ont jamais la parenthèse à la fin d'un menu.

Sangohan38
unknow le 13/12/2006 à 21:22
c'est exactement ce que j'ai dit. loupe.gif
Sangohan38 le 14/12/2006 à 13:20
Désolert, j'avais compris que c'était un problème.

pardon.

Sangohan38
novice le 17/10/2007 à 14:24
j'aimerai bien integrer ce programme a ma TI 82 mais je n'arrive pas a entre certain caractère comme <;>;- etc...
Sangohan38 le 17/10/2007 à 16:04
Dis nous exactement les caractères que tu ne trouve pas.
Pour les trouvés, va dans la section article et cherche le sujet fonctions [TI83].
Tu trouvera toutes les fonctions d'une 83 et donc de ta calculette.

Sangohan38
coc5 le 22/10/2007 à 21:39
(Merci pour cette remarque, mais au passage, il faudrait faire attention à son orthographe même pour écrire des c******* eyeonly.gif )

Vu que l'on était entrain d'étudier les bases en spé math, j'ai fait un programme de ce genre en plus court et qui convertie seulement vers décimal, mais de n'importe quelle base de 2 à 16 ( je peux faire au delà mais c'est du gaspillage de mémoire pour rien je pense^^).

Ca servirait à quelqu'un si je le postait ou je le garde dans ma calto ?
vibra le 23/10/2007 à 18:20
Tu connais la réponse… laugh.gif
hachlor le 30/05/2008 à 18:16
Salut je viens de copier le programme il est génial!!! super!! merci ça vas m'aider pour la SI!!
le seul petit problème c'est la troisième ligne je l'es vérifié 3 fois et j'ai recopié la même chose et il y'a uns erreur de syntaxe pour la calculette...j'ai enlevé la parenthèse mais le "z" est faux sinon??merci de votre aide
webmaster le 30/05/2008 à 18:38
Pourtant le code semble bon ! Vérifie encore une fois ce que tu as entré...

@+ Le Webmaster beer.gif
tahmahal le 31/05/2008 à 11:17
Poste le stp :p
Sangohan38 le 31/05/2008 à 12:40
Poster quoi?
Le code est déjà marquer à la page précédente.

Pour ce qui est de l'erreur, tu as dus oublier des parenthèses car la ligne est juste.

Sangohan38
Spin444 le 01/03/2009 à 13:49
Salut, j'ai un probleme avec supérieur ou égal ...entre les [ ] je l'ai écrit moi meme, mais ça me fait Gotto, et l'erreur se situe ici ...pouvez vous m'aidez? je ne veux pas avoir marqué tout ça pour rien ...xD
Jonas le 01/03/2009 à 21:14
Bonsoir tout le monde, je voulais "vin" pour son super programme, je sais pas comment t'as fait mais c'est du lourd ! Bravo ! Ça fait simplement un an que je programme et je croyais m'y connaitre, tu m'as montré que non ! Merci beaucoup il me sera fort utile en électronique !
Je confirme par ailleurs que le programme fonctionne, donc ceux qui ont des problèmes ont dû faire une erreur de copie.
Enjoy !
Jonas le 01/03/2009 à 21:19
Désolé pour le double poste mais je voulais répondre à "spin44", salut spin, si comme moi tu as une TI82, les supérieur ou égal machin truc se trouve dans :
2nd ==> Math, là tu as tous les opérateurs, même logique si tu va vers la droite.

PS: Pour "vin", je voulais mettre :"je voulais remercier "vin"pour le programme" un petit oublie !
Jonas le 02/03/2009 à 20:25
C'est re-moi je sais mais j'ai découvert un truc bizarre dans le prog, bon c'est pas bien méchant et je cherche peut-être la petite bête mais la valeur 0 semble mal se convertir, en fait pas du tout !
De HEX vers DEC : 0 en Hexa ne s'affiche pas mais donne quand même le résultat en décimal=0. Ensuite le programme demande si on souhaite faire une conversion vers le binaire et là le prog pête un cable, il affiche BIN SUR 33 BITS et me sort une erreur DIM INVALIDE un truc du genre, je fais voir et il m'emenne à cette ligne :
:Then:Output(6,K,L2(K+A-1)) alors que la ligne semble bonne.
Certes ce n'est pas bien grave mais c'est quand même une erreure. Voilà merci d'y réfléchir et encore merci pour le prog !
Jereman le 18/10/2009 à 15:45
bonjour ,
je tien à vous signaler que j'obtient le même problème que toi pour convertir de l'hexa au binair.
j'attend avec impatience votre réponse ...
cupsmiley.gif
Jereman le 18/10/2009 à 15:47
no je voulat dire du déci vers l'hexa ^^
Jereman le 18/10/2009 à 15:52
et deplus peut être que je ne sai pas utiliser le programme de vin alors si vous auvez une notice ou un exemple d'utilisation je suis preuneur.
timmit le 14/12/2009 à 19:35
salut quelqu'un peut m'aider je ne trouve la touche clrliste sur ma ti 82 stats.fr merci de vos reponses
sypotu le 14/12/2009 à 20:12
salut
va dans le cataloge( [2nde]+[0] ) puis cherche EffListe
damarus le 17/03/2011 à 19:56
bonjour tout le monde,

Ce code est vraiment sympa j'ai juste quelques questions. Pour créer le fichier a envoyé sur la calculatrice j'ai utilisé http://tiforge.info/ti_editor/enregistrement.php mais j'ai du remplacer les "->" par le signe proposer ainsi que les "L1" "int(" en "ent(" enfin je voulais savoir si il existe un logiciel qui compile automatiquement. Je l'ai fait manuellement mais il me reste une erreur le "G->dim L1"
Tanguy le 21/12/2011 à 20:00
vin a écrit :
Bonjour

Amélioration de mon programme happy.gif
Restriction des entrées et possiblité de convertir en bin après hex>dec ou hex après bin>dec.

Voila le code
Code
:Lbl 0
:0->Z
:Menu("GE:","HEX > DEC",A,"DEC > HEX",B,"DEC > BIN",C,"BIN > DEC",D,"QUITTER",Z)
:
:Lbl A
:ClrList L1,L2
:ClrHome
:10->A:11->B:12->C:13->D:14->E:15->F
:Disp "*-HEX > DEC----*"
:0->S
:Input "NB CHIFFRE=",G
:G->dim L1
:For(I,1,G)
:Repeat H[supérieur ou égal]0 and H[inférieur ou égal]15
:ClrHome
:Disp "*-HEX > DEC----*","NB"
:Output(2,4,I)
:Prompt H
:int H->H
:If H<0 or H>15
:Then:Output(5,4,"ERROR:")
:If H<0:Output(5,11,"H<0")
:If H>15:Output(5,11,"H>15")
:Pause
:End
:H->L1(I)
:End
:16^(G-I)->L2(I)
:S+L1(I)*L2(I)->S
:End
:5->K:0->L
:Output(7,1,"HEX=")
:For(J,1,G)
:If L1(J)>0:1->L
:If L1(J)[supérieur ou égal]10:K+1->K
:If L1(J)=10:Output(7,K,"A")
:If L1(J)=11:Output(7,K,"B")
:If L1(J)=12:Output(7,K,"C")
:If L1(J)=13:Output(7,K,"D")
:If L1(J)=14:Output(7,K,"E")
:If L1(J)=15:Output(7,K,"F")
:If L1(J)<10 and L=1
:Then:K+1->K:Output(7,K,L1(J))
:End
:End
:Output(8,1,"DEC=")
:Output(8,6,S)
:Pause
:ClrHome
:Menu("> BIN","NON",0,"OUI",1)
:Lbl 1
:1->Z
:Goto C
:
:Lbl D
:ClrHome
:ClrList L1,L2
:Disp "*-BIN > DEC----*"
:0->S
:Input "NB CHIFFRE=",G
:G->dim L1
:For(I,1,G)
:Repeat H=0 or H=1
:ClrHome
:Disp "*-BIN > DEC----*","NB"
:Output(2,4,I)
:Prompt H
:int H->H
:If H<0 or H>1
:Then:Output(5,4,"ERROR:")
:If H<0:Output(5,11,"H<0")
:If H>1:Output(5,11,"H>1")
:Pause
:End
:H->L1(I)
:End
:2^(G-I)->L2(I)
:S+L1(I)*L2(I)->S
:End
:Disp "","",""
:Output(6,1,"BIN SUR")
:Output(6,9,G)
:Output(6,12,"BITS"
:Pause L1
:Output(8,1,"DEC=")
:Output(8,6,S)
:Pause
:Menu("> HEX","NON",0,"OUI",2)
:Lbl 2
:1->Z
:Goto B
:
:Lbl B
:ClrHome
:Disp "*-DEC > HEX----*","MAX=4294967295"
:If Z=0
:Then:Prompt S
:Else:Disp "S=":Output(3,4,S)
:End
:ClrList L1,L2
:If S<16^8
:Then
:{16^7,16^6,16^5,16^4,16^3,16²,16}->L1
:Disp "","HEX="
:For(I,1,7)
:int (S/L1(I))->L2(I)
:S-L1(I)*L2(I)->S
:End
:S->L2(8)
:5->A:0->B
:For(J,1,8)
:If L2(J)>0:1->B
:If L2(J)[supérieur ou égal]10:A+1->A
:If L2(J)=10:Output(5,A,"A")
:If L2(J)=11:Output(5,A,"B")
:If L2(J)=12:Output(5,A,"C")
:If L2(J)=13:Output(5,A,"D")
:If L2(J)=14:Output(5,A,"E")
:If L2(J)=15:Output(5,A,"F")
:If L2(J)<10 and B=1
:Then:A+1->A:Output(5,A,L2(J))
:End
:End
:Else
:Output(5,3,"ERROR: S>MAX")
:End
:Pause
:ClrHome
:Goto 0
:
:Lbl C
:ClrHome
:Disp "*-DEC > BIN----*","MAX=4294967295"
:If Z=0
:Then:Prompt S
:Else:Disp "S=":Output(3,4,S)
:End
:ClrList L1,L2
:If S<2^32
:Then
:For(I,0,31)
:2^(31-I)->L1(I+1)
:End
:0->A:0->B
:Disp "","BIN SUR"
:For(J,1,32)
:int (S/L1(J))->L2(J)
:If L2(J)=1
:Then:1->B:S-L1(J)->S
:If A=0:J->A
:End
:End
:Output(5,9,33-A)
:Output(5,12,"BITS")
:For(K,1,33-A)
:If K[inférieur ou égal]16
:Then:Output(6,K,L2(K+A-1))
:Else:Output(7,K-16,L2(K+A-1))
:End
:End
:Else
:Output(5,3,"ERROR: S>MAX")
:End
:Pause
:ClrHome
:Goto 0
::
:Lbl Z
:ClrHome


@+




J'ai pas trop compris comment on faisait pour convertir le décimal en binaire ?

Merci
linkakro le 21/12/2011 à 20:10
Quand tu executes le programme, choisis la troisième option du menu c'est-à-dire "DEC > BIN".

Je regrette pour damarus qui n'a eu aucune réponse. Je présume qu'il fallait remplacer l'espace après dim par une parenthèse. L'espace n'est plus valable à partir de la 82stat.
giantwow le 02/04/2012 à 19:42
pour la traduction hex > dec j'ai plus simple:

ClrHome
10&#8594;A
11&#8594;B
12&#8594;C
13&#8594;D
14&#8594;E
15&#8594;F
0&#8594;H
Output(1,3,"!<")
Input ":",G
ClrHome
Output(1,4,"<")
If G=15
Input ":F",H
If G=14
Input ":E",H
If G=13
Input "bigmouth.gif",H
If G=12
Input ":C",H
If G=11
Input ":B",H
If G=10
Input ":A",H
If G=9
Input ":9",H
If G=8
Input ":8",H
If G=7
Input ":7",H
If G=6
Input ":6",H
If G=5
Input ":5",H
If G=4
Input ":4",H
If G=3
Input ":3",H
If G=2
Input ":2",H
If G=1
Input ":1",H
If G=0
Input ":0",H
ClrHome
16G+H&#8594;I
If I=0
Then
Disp "Error"
Pause
prgm&#952;16B10
End
Disp ":"
Output(1,2,I)
sandro le 02/04/2012 à 20:43
tu pourrais remplacer les caractères spéciaux s'il te palit, ce sera plus lisible.

Merci d'avance
Sandro
Sangohan38 le 03/04/2012 à 22:29
Ce programme est-il de toi?

Sangohan38
Soni8D le 30/09/2012 à 13:51
Bonjour à tous, et merci à vin pour ce programme.

Sauf que j'ai une petite question : C'est quoi le "H=?" ? Qu'est-ce qu'il faut rentrer après ? crazy.gif
_Je n'ai aucun repère en programmation frozen.gif

Merci d'avance pour vos réponses!
linkakro le 30/09/2012 à 15:03
H est le nombre hexadécimal ou le nombre binaire à saisir.
Lorsque la TI affiche "H=?" tu dois saisir le nombre et valider.
ld le 30/09/2012 à 22:10
EDIT : NOUVELLE VERSION

De la base X à X, pour X de 2 à 36.
Au défit de faire mieux et plus léger !

Vous pouvez le tester à cette adresse :
https://www.kaagaard.dk/service/convert.htm

Prgm AllBase V3
187 octets.
Code
:"0123456789ABCDEF->Chaîne0   ----   (Allez jusqu'à F pour la base 16 et Z pour 36).
:EffEcr:0->N:0->R
:Input:"DE BASE ",X
:Input "A ",Y
:Input "N= ",Chaîne1
:longueur(Chaîne1->L
:For(Z,0,L-1
:carChaîne(Chaîne0,sous-Chaîne(Chaîne1,L-Z,1))-1
:R+X^ZRép->R
:End
:Repeat non(R
:N+1->N
:Output(8,17-N,sous-Chaîne(Chaîne0,1+R-Yent(R/Y),1
:ent(R/Y->R
:End


Prgm AllBase V2
Code
:"FEDCBA->Chaîne0
:0->R:10->A:11->B:12->C:13->D:14->E:15->F
:EffEcr
:Menu("BASE",10 A X",1,"X A 10",2

:Lbl 1
:Disp "10 A X"
:Prompt X,N
:While N=/=0
:R+1->R
:N-Xent(N/X
:If Rép<10:Then:Output(8,17-R,Rép):Else:Output(8,17-R,sous-Chaîne(Chaîne0,16-Rép,1:End
:partEnt(N/X->N
:End:Stop

:Lbl 2
:Disp "X A 10"
:Prompt X
:Input "N=?",Chaîne0
:longueur(Chaîne0->L
:For(E,0,L-1
:expr(sous-Chaîne(Chaîne0,L-E,1
:If Rép supérieur ou égal à X:Disp "ERREUR !
:R+X^Eent(Rép->R
:End
:Output(8,1,R
Soni8D le 01/10/2012 à 21:05
Bonsoir, et merci Linkakro happy.gif !

Id _ Ton programme est sur TI82? Car il me manque quelques "fonctions" comme Effecr, ou Ent... eyeonly.gif
linkakro le 01/10/2012 à 22:22
Le programme du sujet ici présent a été écrit par vin, pas par moi.

Si tu veux parler de mon programme posté ailleurs (relisez le topic car il contient plusieurs choses) : non, la dernière version optimale n'est pas disponible sur ti82 à cause des chaines de caractères.
Contourner ce problème est possible mais très pénible, ou bien on utilise pas de lettres.
Il existe déjà une version de mon programme adaptée à toutes les TI, mais utilise des listes ce qui complique la saisie ; je ne sais plus si je l'ai postée ni où.
Si on est prêt à gérer soi-même des choses, utilisez les deux petits programmes à la fin.

Consulte le catalogue des fonctions signalé par ma signature : il indique les emplacements des fonctions et leurs traductions.
mikouuu le 19/02/2013 à 19:43
bonjour voila j'aimerai savoir ou se trouve chaine sans la parenthese car je suis debutant et je mi conais pas trop et se programe me serai d'une grande utiliter svp
blg_flg le 19/02/2013 à 21:34
Regarde ici: http://web.archive.org/web/202[...]rg//TIBasic.htm

Il y a toutes les fonctions et tous les emplacements, traductions, etc. winkle.gif
mika le 20/02/2013 à 16:02
Code
:Normal
:Float
:ClrHome
:ClrList L1,L2
:Input "DEPART=",X
:Input "FINAL=",Y
:10&#8594;A
:11&#8594;B
:12&#8594;C
:13&#8594;D
:14&#8594;E
:15&#8594;F
:3&#8594;T
:0&#8594;S
:0&#8594;N
:iPart(log(X-1))+1&#8594;U
:If X=16
:   1&#8594;U
:" "&#8594;Str2
:"ABC--DEF--------789--456--123--0---"&#8594;Str1
:Lbl 88
:0&#8594;K
:Repeat K&#8800;0
:   getKey&#8594;K
:End
:If K=105 and N/U=iPart(N/U) and N&#8800;0
:   Goto 99
:If K=23 and N&#8800;0
:Then
:   Output(T,S," "
:   S-1&#8594;S
:   If S=0
:   Then
:      16&#8594;S
:      T-1&#8594;T
:   End
:   N-1&#8594;N
:   sub(Str2,1,N+1)&#8594;Str2
:   If N/U=iPart(N/U)
:      N/U&#8594;dim(L1)
:End
:If K<41 or K=105 and (N/U&#8800;iPart(N/U) or N=0)
:   Goto 88
:If K=23
:   Goto 88
:K-40-5iPart((K-40)/10)&#8594;M
:If sub(Str1,M,1)="-"
:   Goto 88
:If expr(sub(Str1,M,1))&#8805;X or expr(sub(Str1,M,1))&#8805;10 and H=0
:   Goto 88
:N+1&#8594;N
:S+1&#8594;S
:If S=17
:Then
:   T+1&#8594;T
:   1&#8594;S
:End
:Output(T,S,sub(Str1,M,1))
:Str2+sub(Str1,M,1)&#8594;Str2
:If N/U=iPart(N/U)
:   expr(sub(Str2,N-U+2,U)&#8594;L1(N/U)
:Goto 88
:Lbl 99
:"0123456789ABCDEF"&#8594;Str1
:Lbl R
:0&#8594;H
:If Y=16
:   1&#8594;H
:0&#8594;P
:N/U&#8594;N
:For(W,1,N
:   L1(W)*X^(N-W)+P&#8594;P
:End
:0&#8594;W
:P&#8594;Z
:ClrList L2
:Repeat Q=0
:   W+1&#8594;W
:   iPart(P/Y)&#8594;Q
:   P-Q*Y&#8594;L2(W)
:   Q&#8594;P
:End
:ClrList L1
:For(V,0,W-1
:   L2(W-V)&#8594;L1(V+1)
:End
:ClrList L2
:ClrHome
:If P>9999999999
:   Disp "TROP GRAND"
:If P<&#7473;10
:   Disp "BASE"
:Output(1,7,Y
:If Y=10 and dim(L1)<11
:   Pause Z
:If Y>10 and H=0
:   Pause L1
:If H=1 or Y=10 and dim(L1)>10 or Y<10
:Then
:   " "&#8594;Str2
:   dim(L1)&#8594;M
:   For(W,1,M
:      Str2+sub(Str1,L1(W)+1,1)&#8594;Str2
:   End
:   Pause Str2
:End
:Menu("RESTART","STOP",Q,"RECONVERTIR",S
:Lbl S
:Y&#8594;X
:Input "RECONV=",Y
:ClrHome
:Udim(L1)&#8594;N
:If Y=16
:   1&#8594;H
:Goto R
:Lbl Q



j'ai un probleme de domaine au niveau de sub (str2,1,n+1) ??
Sangohan38 le 20/02/2013 à 18:40
Ce programme n'est visiblement pas du site. Aussi j'aimerai qu'a l'avenir tu créer un nouveau sujet au lieu de répondre dans un autre sujet.
Pourrais-tu nous indiquer la dimension de la chaîne 2 (= son nombre de caractère) ainsi que la valeur de N lors de l'erreur?

Sangohan38
linkakro le 24/02/2013 à 13:43
C'est une des antiques versions de mon programme que j'ai mentionné en lien. Il aurait fallu remonter le sujet où je l'ai posté plutôt que celui-ci.
Sérieusement utilise une version plus moderne, car elle ne donne aucun avantage de compatibilité et son algorithme de saisie est compliqué.

Le sujet ici présent, et pas la remontée de mika, est compatible toute ti.
Celui de l.davin aussi est compatible.
thomas le 02/03/2013 à 12:08
ld a écrit :
Bonjour tout le monde ! bigmouth.gif
Voilà j'avais envi d'enterrer ce topic en vous présentant mon dernier convertisseur. L'affichage est PARFAIT. Bien plus simple, léger, rapide et fonctionnel !
Il sais aussi utiliser et afficher les nombres en hexadécimal pour les programmeurs comme vous !
Et le tout en 270 octets s'il vous plait !

Le menu vous propose de passer de la base 10 à la base X et inversement.
Quelques exemples pour illustrer tout çà:

Convertir 6435 (Base 10) en binaire (Base 2).
-> Menu -> "10 à X" -> X=? 2 -> N=? 6435 -> Entrer. On a 1100100100011

Convertir 7243 (Base 10) en hexadécimal (Base 16).
-> Menu -> "10 à X" -> X=? 16 -> N=? 7243 -> Entrer. On a 1C4B

Convertir 1101 (Base 2) en décimal (Base 10).
-> Menu -> "X à 10" -> X=? 2 -> N=? 1101 -> Entrer. On a 13

Convertir E7B6 (Base 16) en décimal (Base 10).
-> Menu -> "X à 10" -> X=? 16 -> N=? E7B6 -> Entrer. On a 14262

Code
:"FEDCBA->Chaîne0
:0->R:10->A:11->B:12->C:13->D:14->E:15->F
:EffEcr
:Menu("BASE",10 A X",1,"X A 10",2

:Lbl 1
:Disp "10 A X"
:Prompt X,N
:While N=/=0
:R+1->R
Code
:N-Xent(N/X
:If Rép<10:Then:Output(8,17-R,Rép):Else:Output(8,17-R,sous-Chaîne(Chaîne0,16-Rép,1:End
:partEnt(N/X->N
:End:Stop

:Lbl 2
:Disp "X A 10"
:Prompt X
:Input "N=?",Chaîne0
:longueur(Chaîne0->L
:For(E,0,L-1
:expr(sous-Chaîne(Chaîne0,L-E,1
:If Rép supérieur ou égal à X:Disp "ERREUR !
:R+X^Eent(Rép->R
:End
:Output(8,1,R


Ce msg remonte d'ici:
https://tout82.pages-perso.fre[...].php?sujet=3354
Dans le topic de Samsam. D’ailleurs le siens est bien aussi.


je suis sur ti 82 stat.fr et je vois pas comment entrer cette ligne :
:N-Xent(N/X
ni cella là :
:longueur(Chaîne0->L

Pardonnez mon imcompétence godgrace.gif