Forum

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

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

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