Poster un nouveau sujet Poster une réponse
Conversion héxadécimal à décimal
Auteur Message
Picarros



Autorisation : Membre
Nb de messages : 4
Inscrit le : Dim 18 Déc 2011, 14:26
Posté le : Dim 18 Déc 2011, 14:30   Citer 

Bonjour à tous. Alors voilà, depuis pas mal de temps je me suis lancé dans un "petit" programme qui permet de faire des conversion (décimal, binaire, gray, octal, héxadécimal, BCD). Mais je bloque sur une conversion : de l'héxadécimal vers le décimal.

Si quelqu'un pouvait m'aider pour créer ce morceau de programme ce serait sympas happy.gif.

Et s'il est possible pourquoi ne pas pouvoir entrer directement "1F6A" (16) ?! Avec des lettres et des chiffres ? Sinon vous faites comme vous voulez, parce que là je bloque complètement.

Merci d'avance ! happy.gif

 Adresse email Haut de page Bas de page 
 
sandro



Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 18 Déc 2011, 14:42   Citer 


Code
Imput "HEXA:",Chaîne1        //Chaîne1 ce trouve dans Var/7/1 et
                                     s'appelle Str1 en anglais
10 -> A
11 -> B
12 -> C
13 -> D
14 -> E
15 -> F
longueur(Chaîne1 -> L
0 -> X
For(I,0,L-1
X+16^L*expr(Sous-chaîne(Chaîne1,L-I -> X     //expr( et Sous-chaîne( se trouvent
uniquement dans le catalogue ; et sont respectivement expr( et sub( en anglais
End
Disp X



Je pense que ça devrait marcher.

Sandro

PS : si ça marche pas, je ne pourrais pas corriger le programme dans les prochains 10 jours (pas d'ordi) donc il te faudra chercher quelcun d'autre qui veille bien t'aider

----------------------
mort à l'inutile, place à la mémoire libre et aux programmes
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 18 Déc 2011, 15:46   Citer 

Je peux t'aider aussi.
Mais je ne sais pas si tu as une bonne maîtrise de l'aspect mathématique des bases.

Ce qu'a montré sandro est une méthode simple mais on peut l'optimiser.
Si tu as besoin d'aide pour la première, on la débrouillera avant de débrouiller la suivante.

Mais sandro a oublié un argumment pour la sous-chaîne.
X+16^L*expr(Sous-chaîne(Chaîne1,L-I,1 -> X


Code
Input "HEXA:",Chaîne1
longueur(Chaîne1->L
EffVar X
For(I,0,L-1
carChaîne("0123456789ABCDEF",sous-chaîne(Chaîne1,L-I,1))-1
X+Rép*16^I->X
End
Disp X

édité

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Picarros



Autorisation : Membre
Nb de messages : 4
Inscrit le : Dim 18 Déc 2011, 14:26
Posté le : Dim 18 Déc 2011, 16:10   Citer 

Merci à vous. Les programme que vous m'avez passé bug : erreur indéfini :S
Comme je suis sur TI 82 stats fr, j'ai chercher les traduction et j'ai donc remplacer :

X-1+16^I*inString("0123456789ABCDEF",sub(Str2,L-I,1->X

Par :

X-1+16^I*carChaîne("0123456789ABCDEF",sous-Chaîne(Chaîne2,L-I,1->X

Mais l'erreur indéfini est là (en rouge). Je sais pas quoi faire ^^'.
J'attend ta réponse. Merci à vous deux.

Edit : Je viens de voir que tu as modifié. Ce que j'ai fais aussi :
Code indéfini ici :

carChaîne("0123456789ABCDEF",sous-Chaîne(Chaîne2,L-I,1))-1

J'attend avec impatience happy.gif

 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 18 Déc 2011, 17:15   Citer 

Je me suis planté en faisant un copier/coller. minied.gif
Il faut remplacer Str2 par Str1. (Chaîne2 par Chaîne1)

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Picarros



Autorisation : Membre
Nb de messages : 4
Inscrit le : Dim 18 Déc 2011, 14:26
Posté le : Dim 18 Déc 2011, 17:45   Citer 

Ca marche du tonnerre ! Merci infiniment ! bigmouth.gif

 Adresse email Haut de page Bas de page 
 
Picarros
Invité
Posté le : Dim 18 Déc 2011, 21:26   Citer 

Juste une question à cent sous, tu pourrais m'expliquer comment fonctionne le code la ? Ainsi que les chaines, sous chaines ... en générale ?

Merci d'avance.

  Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Picarros
Invité
Posté le : Dim 18 Déc 2011, 22:51   Citer 

Merci à vous. Les programme que vous m'avez passé bug : erreur indéfini :S
Comme je suis sur TI 82 stats fr, j'ai chercher les traduction et j'ai donc remplacer :


Code
X-1+16^I*inString("0123456789ABCDEF",sub(Str2,L-I,1->X



Par :


Citer
X-1+16^I*carChaîne("0123456789ABCDEF",sous-Chaîne(Chaîne2,L-I,1->X



Mais l'erreur indéfini est là (en rouge). Je sais pas quoi faire ^^'.
J'attend ta réponse. Merci à vous deux.

Edit : Je viens de voir que tu as modifié. Ce que j'ai fais aussi :
Code indéfini ici :


Code
carChaîne("0123456789ABCDEF",sous-Chaîne(Chaîne2[couleur=#FF0000],[/couleur]L-I,1))-1



J'attend avec impatience happy.gif

  Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 19 Déc 2011, 0:20   Citer 

Je ne sais pas à quoi tu joues avec ta balise citation.

Oui je veux bien sûr t'expliquer le code.

Déjà les fonctions sont expliquées ici

Décortiquons ces lignes :
Code
X+16^L*expr(Sous-chaîne(Chaîne1,L-I -> X

carChaîne("0123456789ABCDEF",sous-chaîne(Chaîne1,L-I,1))-1
X+Rép*16^I->X

sous-chaîne sert à décomposer la chaîne saisie au début.
expr sert à calculer la valeur du contenu d'une chaîne. Ici la sous-Chaîne. Comme on affecte au début des valeurs aux lettres A,B etc ces valeurs sont utilisées de la même façon que les nombres.
carChaîne sert à rechercher une chaîne dans une autre. Ici elle recherche la sous-chaîne dans "01...DEF" ce qui donne une valeur pour chaque nombre et lettre.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Picarros



Autorisation : Membre
Nb de messages : 4
Inscrit le : Dim 18 Déc 2011, 14:26
Posté le : Lun 19 Déc 2011, 11:20   Citer 

Merci à toi pour ces explications !

(Le "citer" est un gros fail ._., je voulais mettre les "codes" sauf que je dormais à moitié et j'ai pas vu que j'avais cliquer sur "citer" °°, si t'arrives à suppr. le message ça serait pas mal crazy.gif.)

 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 19 Déc 2011, 19:08   Citer 

Si tu veux j'ai aussi le convertisseur de bases que j'utilise - mais qui n'est pas de moi- qui te traduit toutes les bases de 2 à 36. Tu veux ? winkle.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Erdnuss



Autorisation : Membre
Nb de messages : 30
Inscrit le : Mer 14 Déc 2011, 20:42
Posté le : Lun 19 Déc 2011, 19:24   Citer 

Moi oui !!!
Il ne fait pas la base unaire ??? ^^

----------------------
Il y a 11 sortes de personnes. Ceux qui connaissent le unaire et ceux qui ne le connaissent pas.
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 19 Déc 2011, 19:36   Citer 

Base 1 ? Bah non ^^ elle est tout simplement impossible à faire ^^

Mais tu le connais toi je crois "mon" convertisseur bigmouth.gif


Code
:Input "NB ",Chaine1                //le nbr à convertir
:Input "BA ",C                  //la base de départ
:Input ">B ",D                 //la base d'arrivée
:"123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ->Chaine2
:longueur(Chaine1->A               
:0
:For(¤,1,A                 //¤=theta
:Rep+C^(A-¤)CarChaîne(Chaine2,sous-chaine(Chaine1,¤,1
:End
:Rep->B
:"0"+Chaine2->Chaine2
:While B
:ent(B/D->C
:sous-chaine(Chaine2,B-DC+1,1)+Chaine1->Chaine1
:C->B
:End
:Disp sous-chaine(Chaine1,1,longueur(Chaine1)-A



----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Polymorph



Autorisation : Membre
Nb de messages : 118
Inscrit le : Dim 13 Nov 2011, 14:26
Posté le : Lun 19 Déc 2011, 20:03   Citer 


Citer

Base 1 ? Bah non ^^ elle est tout simplement impossible à faire ^^


Ben si! 5 en base unaire, ça ferait 11111!

----------------------

Citer
Le temps est une variable dans une boucle infinie, qu'on ne cesse d'incrémenter.


Polymorph, 23/11/2011
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 19 Déc 2011, 20:50   Citer 

Bon. Correction ^^'

Base 1 ? Bah ça servirait à rien (non avouez !)

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 19 Déc 2011, 22:35   Citer 

Heureusement que tu as utilisé des guillemets pour désigner le covertisseur sinon je t'aurais accusé de plagier mdr1.

Si vous voulez la même chose avec quelques options et si vous n'êtes pas parano de la mémoire vous pouvez essayer le mien. CONVERS (oui j'avoue que je suis fier de mon programme)

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
The K



Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 19 Déc 2011, 23:46   Citer 

(ne t'en fais pas pour mdr1, erdnuss était au courant ... Sinon merci de préciser pour les autres ^^' )

Ah oui ton programme a l'air bien aussi bigmouth.gif c'est en tous cas parfois utile !
Je m'y perds cependant un peu plus que celui de mdr1, dans lequel j'ai du mal a comprendre seulement 10 lignes (comment ça le programme fait 10 lignes ? ). Nan bref ! Avec les explications et un peu de temps ça le fait !

Et sinon t'as acheté une ti-84 pocket ? J'adore leur design perso bigmouth.gif

----------------------
La la la ...

Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL

Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO

Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind

Mes nouveaux programmes de calcul formel : FCarré FPrime

Projet base de données : ici mais abandonné. Trop de travail ...
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes