Forum

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

Programme pour conversion de Base

MagiiK le 18/11/2015 à 14:56
Bonjour à tous, j'aurai besoin d'aide pour un algorithme pouvant transformer un nombre en n'importe quelle base vers n'importe quelle base. Il y en a déjà des existants sur le forum mais il marchent rarement, si vous en avez un qui marche, ça me sauverai la vie
merci
Ruadh le 18/11/2015 à 18:18
Voilà le mien : http://www.tout82.org/t313-con[...]e-x-vers-base-y
ld le 21/11/2015 à 15:55
Non c'est faux, de nombreuses personnes ici ont fait des prgm de conversion qui fonctionnent parfaitement.

De la base 10 à X et inversement, pour X de 2 à 36.

Prgm AllBase V3 187 octets.
Code
:"0123456789ABCDEF->Chaîne0   ----   (Allez jusqu'à Z pour la base 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

Vous pouvez le tester à cette adresse :
https://www.kaagaard.dk/service/convert.htm
adribaz le 01/12/2015 à 14:11
Bonjour j'ai pas compris a quoui sert :

non( ? karate.gif
Mingerton le 01/12/2015 à 19:12
Il s'agit d'une commande booléenne, qui retourne VRAI si la valeur de vérité de son argument est FAUX, et FAUX si la valeur de vérité est VRAI. Ca fonctionne comme un inverseur.

En TI-Basic, on l'utilise souvent pour savoir si un test est faux, ou pour savoir si un nombre est égal à 0 (FAUX=0).

Dans ce cas, on répète la boucle jusqu'à e que R soit nul. (d'ailleurs cette ligne se remplace par While R tongue.gif)
ld le 02/12/2015 à 16:54
Oui mais Repeat effectue une dernière fois la boucle si non(R est vrai.
Tandis que While R s'arrête net, et ce n'est pas ce q'il faut dans mon prgm.
Ruadh le 02/12/2015 à 17:56
ld a écrit :
Oui mais Repeat effectue une dernière fois la boucle si non(R est vrai.
Tandis que While R s'arrête net, et ce n'est pas ce q'il faut dans mon prgm.


Non, c'est faux. La différence est que le test est effectué en début de boucle pour While et en fin de boucle pour Repeat.
Dans ce programme, la seule différence est quand N=0, avec Repeat, le programme affiche 0, alors qu'avec While, il n'affiche rien.
ld le 03/12/2015 à 13:23
Et bien on a raison tout les deux.
Repeat fait donc une boucle de plus.
Ruadh le 03/12/2015 à 17:58
Sans doute que je te comprend mal crazy.gif
J'ai compris que tu disais que Repeat effectuait une itération supplémentaire que While pour tout N.
Donc si c'est bien ça que tu disais, c'est faux, le nombre d'itérations est identique pour tout N non nul.
Si c'était pas ça que tu disais, alors désolé.