Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation TI-Basic » Conversion binaire (54 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Invité Ecrit le: Lundi 19 avril 2004 à 15:08 Déconnecté(e)    
 
Sur nos caltos 68K, on ne peut convertir de nombres en binaire que jusqu'à
11111111111111111111111111111111 (32), et lorsqu'on utilise la fonction Bin, elle ne peut avoir aucun caractère après. Par exemple, Disp string(10?Bin) est impossible, puisqu'une parenthèse intervient après le Bin.
Pour remédier à cela, j'ai fait un programme de conversion binaire :
bin(n)
Prgm
""->var2
While n>1
mod(n,2)->var1
floor(n/2)->n
string(var1)&var2->var2
EndWhile
Disp var2
EndPrgm

Le problème, c'est que je voudrais supprimer une variable. Il me faudrait juste le nombre de départ (n), et le résultat (var2).
[edit] Thor j'ai modifié le ? par >

-Edité le: Lundi 19 avril 2004 à 15:35 par Thor-
    
./Post n°1   Marquer comme non lu.
Invité Ecrit le: Lundi 19 avril 2004 à 15:09 Déconnecté(e)    
 
Pourquoi il me met While n?1 ? J'ai mis While n "est supérieur ou égal à" 1 ! Avec le signe supérieur ou égal !

-Edité le: Lundi 19 avril 2004 à 15:09 par AS-
    
./Post n°2   Marquer comme non lu.
matth Ecrit le: Lundi 19 avril 2004 à 16:42 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

voici le code qu'il te faut, si j'ai bien compris ton probleme :

bin(n)
Fonc
local var1,var2
""->var2
While n>1
mod(n,2)->var1
floor(n/2)->n
string(var1)&var2->var2
EndWhile
Return var2
EndFonc


J'ai transformé le programme en fonction, pour pouvoir l'utiliser dans une expression, et j'ai défini les deux varialbes en local ...
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°3   Marquer comme non lu.
Invité Ecrit le: Lundi 19 avril 2004 à 17:01 Déconnecté(e)    
 
Oui, mais là il y a du code en plus pour le local, et la variable var1 est toujours là... Et je veux la virer ! #non#
    
./Post n°4   Marquer comme non lu.
matth Ecrit le: Lundi 19 avril 2004 à 17:13 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

var1 n'est plus la !!!
Elle n'existe que pour la durée de fonctionnement du prog ...
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°5   Marquer comme non lu.
Invité Ecrit le: Lundi 19 avril 2004 à 18:29 Déconnecté(e)    
 
Oui mais je ne veux plus voir cette variable ! Je veux en faire une fonction la plus petite possible, et la plus rapide possible... :)
    
./Post n°6   Marquer comme non lu.
Folco Ecrit le: Lundi 19 avril 2004 à 21:53 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


commence par effacer var1 de ton var-link, et tu verras qu'après l'appel à la fonction, elle n'y sera toujours plus.
Et tu peux virer la ligne:

:Return var2

Etant donné que var2 est la dernière variable affectée, ta fonction vaudra toujours var2.

-Edité le: Lundi 19 avril 2004 à 21:54 par Martial Demolins-
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°7   Marquer comme non lu.
matth Ecrit le: Lundi 19 avril 2004 à 22:08 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

t'es sur pour le return ??
paske il y a
EndWhile
en derniere instruction , donc en tt logik, ss rien , il retourne "done" ...
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°8   Marquer comme non lu.
Folco Ecrit le: Lundi 19 avril 2004 à 23:16 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


Faux, une fonction retoutrne toujours une valeur, jamais done
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°9   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 06:49 Déconnecté(e)    
 
Oui mais mettre une variable en local, c'est bien la créer uniquement le temps du programme ? Et ben je n veux pas qu'elle se crée et je ne veux pas l'utiliser dans la fonction !
...
    
./Post n°10   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 12:16 Déconnecté(e)    
 
alors ta fonction ne marchera pas
    
./Post n°11   Marquer comme non lu.
Dari Ecrit le: Mardi 20 avril 2004 à 18:44 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Héhé, je vous annonce en exclu qu'il a réussi à convertir 10^100 en binaire en 8 secondes chrono?Bravo !
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°12   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 19:26 Déconnecté(e)    
 
Ouaip ! (Merci pour les "congratulations" Dari) Regardez ça, j'ai enfin réussi ! :)
D'abord, il faut inclure la lib ExtGraph comme suit... non je déconne :
bin2(n)
Prgm
""->r
Optionnel : checkTmr(0)->s
While n(est supérieur ou égal à)1
string(mod(n,2))&r->r
int(n/2)->n
EndWhile
Optionnel : Disp checkTmr(0)-s (le temps mis pour la conversion en secondes)
Disp r
EndPrgm

Et pour l'invité juste en dessous de mon post, je n'utilise que deux variables : le nombre de départ ( n ) et le résultat ( r ) ! En option les secondes écoulées ( s ) !
Ce programme convertit n'importe quel nombre (pour l'instant entier positif) en binaire.
8 secondes pour convertir 10^100, et 38 secondes pour convertir 1000^100 !
P.S. : Maintenant je vais m'attaquer à un convertisseur "universel", qui convertit n'importe quel type de nombre en la base que vous voulez, de base 2 (De 0 à 1) à base 36 (De 0 à Z) !
Bon, ça fait la 4e fois que j'édite ce post... il y en a marre... !

-Edité le: Mardi 20 avril 2004 à 20:21 par AS-
    
./Post n°13   Marquer comme non lu.
matth Ecrit le: Mardi 20 avril 2004 à 19:30 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

ben t'a toujours deux variables : n et r ...
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
./Post n°14   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 19:31 Déconnecté(e)    
 
Oui mais je n'ai plus var1, var2 et r !
    
./Post n°15   Marquer comme non lu.
Folco Ecrit le: Mardi 20 avril 2004 à 20:35 Déconnecté(e)    Voir le profil de Folco Envoyer un email à Folco Envoyer un message privé à Folco  


non mais AS là tu le fais exprès ou quoi?
<<< Kernel Extremist©®™ >>>
Pas la peine d'aller là plus d'une fois tous les six mois...

"Il faut apprendre pour savoir qu'il faut apprendre pour savoir."
    
./Post n°16   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 20:39 Déconnecté(e)    
 
Comment ça exprès ? J'ai réussi, non ?
    
./Post n°17   Marquer comme non lu.
Dari Ecrit le: Mardi 20 avril 2004 à 20:44 Déconnecté(e)    Voir le profil de Dari Envoyer un email à Dari Visiter le site WEB de Dari Envoyer un message privé à Dari  

Et le pire c'est qu'il est tout fier (au lieu de bosser en TPE?)
"iPod, therefore, I am."

http://media.laquadrature.net/Quadrature_black-out_HADOPI_468x60px.gif

    
./Post n°18   Marquer comme non lu.
Invité Ecrit le: Mardi 20 avril 2004 à 20:46 Déconnecté(e)    
 
Mais arrête toi et essaye de faire mieux que 8 secondes ! Si tu arrives à 7, je m'incline ! (En Basic, bien sûr ! :)).
    
./Post n°19   Marquer comme non lu.
matth Ecrit le: Mardi 20 avril 2004 à 21:02 Déconnecté(e)    Voir le profil de matth Envoyer un email à matth Visiter le site WEB de matth Envoyer un message privé à matth  

comment convertir la valeur retourner par le timer en seconde ?
Ici un peu de pub pour bestofmicro, n'hésiter pas a double-cliquer, vous y trouverez du matériel informatique tres interressant

http://www.informatiquefrance.com/stop-faute.jpg
    
  :: Index » Forum Ti68K » Programmation TI-Basic » Conversion binaire (54 réponse(s))
Pages : 1/3     « [1] 2 3 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 54.72ms avec 28 requetes