Binaire |
Auteur |
Message |
MoonWalk
Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
|
Posté le : Mer 14 Déc 2011, 20:30
|
|
|
Voilà un petit programme, il vous suffit d'entrer un nombre et vous avez en langage binaire (des 0 et des 1) ce que ce nombre signifie. Utile pour ceux qui sont en Sin STI2D ou en S Si.
Code | :EffEcr
:Lbl 0
:Input "Decimal:",A
:Lbl 1
:Then
:A-1024->A
:1->x
:Else
:0->x
:End
:If A [supérieur ou égal] 512
:Then
:A-512->A
:1->W
:Else
:0->W
:End
:If A [supérieur ou égal]] 256
:Then
:A-256->A
:1->N
:Else
:0->N
:End
:If A [supérieur ou égal] 128
:Then
:A-128->A
:1->O
:Else
:0->O
:End
:If A [supérieur ou égal] 64
:Then
:A-64->A
:1->P
:Else
:0->P
:End
:If A [supérieur ou égal] 32
:Then
:A-32->A
:1->Q
:Else
:0->Q
:End
:If A [supérieur ou égal] 16
:Then
:A-16->A
:1->R
:Else
:0->R
:End
:If A [supérieur ou égal] 8
:Then
:A-8->A
:1->S
:Else
:0->S
:End
:If A [supérieur ou égal] 4
:Then
:A-4->A
:1->T
:Else
:0->T
:End
:If A [supérieur ou égal] 2
:Then
:A-2->A
:1->U
:Else
:0->U
:End
:If A [supérieur ou égal] 1
:Then
:A-1->A
:1->V
:Else
:0->V
:End
:If A [supérieur ou égal] 0
:Then
:Goto 2
:End
:Goto 1
:Lbl 2
:OutPut(4,1,X
:OutPut(4,2,W
:OutPut(4,3,N
:OutPut(4,4,O
:OutPut(4,5,P
:OutPut(4,6,Q
:OutPut(4,7,R
:OutPut(4,8,S
:OutPut(4,9,T
:OutPut(4,10,U
:OutPut(4,11,V
:Stop
|
Et voilà !
Par contre, j'ai une petite question...
J'ai l'impression que les
Code | :Then
...
:Else
...
:End |
servent à rien, c'est vrai ? Si c'est le cas on peut économiser énormément d'octects !
|
|
|
|
Erdnuss
Invité
|
Posté le : Mer 14 Déc 2011, 20:41
|
|
|
Houla c est gros ! Et ça prend pas tout en compte !
Je prefere (codé perso) :
Code | : Prompt A
: Effecr
: -1->B
: 0-> C
: Lbl 9
: B+1->B
: If 2^B(plus petit ou égal)A et 2*2^B>A
: Then
: A-2^B->A
: C+10^B->C
: If A =0 : Goto 2
: -1->B
: End
: Goto 9 |
|
|
|
|
MoonWalk
Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
|
Posté le : Mer 14 Déc 2011, 20:46
|
|
|
Je n'ai pas très bien compris ton code ...
|
|
|
|
Erdnuss
Autorisation : Membre
Nb de messages : 30
Inscrit le : Mer 14 Déc 2011, 20:42
|
Posté le : Mer 14 Déc 2011, 20:57
|
|
|
A est la variable où est stocké le décimal.
B est la variable qui indique les puissances de 2 ( car 1=2^0;2=2^1;4=2^2;8=2^3... Donc B est 0, 1, 2, 3 ...)
C est la variable où est stocké le binaire.
Je viens de m apercevoir qu'il faut rajouter a la fin :
C est parce que je l ai extrait d un programme qui convertit binaire->décimal et décimal-> binaire (et j ai pas rajouté la fin du coup)
---------------------- Il y a 11 sortes de personnes. Ceux qui connaissent le unaire et ceux qui ne le connaissent pas. |
|
|
|
MoonWalk
Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
|
Posté le : Mer 14 Déc 2011, 21:00
|
|
|
Ha d'accord, faudrait que tu le mettes pour que je puisses comparer !
|
|
|
|
Erdnuss
Autorisation : Membre
Nb de messages : 30
Inscrit le : Mer 14 Déc 2011, 20:42
|
Posté le : Mer 14 Déc 2011, 21:08
|
|
|
Sachant que j ai pas le cable : applaudissez moi
Code | Lbl 0
Effecr
Menu("conversion","Décimal:Binaire",3,"binaire:décimal",4,"quitter",7
Lbl 7
Stop
: Prompt A
: Effecr
: -1->B
: 0-> C
: Lbl 9
: B+1->B
: If 2^B(plus petit ou égal)A et 2*2^B>A
: Then
: A-2^B->A
: C+10^B->C
: If A =0 : Goto 2
: -1->B
: End
: Goto 9
Lbl 4
Effecr
Prompt A
Effecr
0->B
0->C
Lbl 1
If (A-1)/10=ent(A-1)/10)
Then
A-1->A
A/10->A
B+2^C->B
C+1->C
If A=0:Goto 5
Else
A/10->A
C+1->C
End
Goto 1
Lbl 5
Effecr
Output(1,1,B
Goto6
Lbl 2
Effecr
Output(1,1,C
Lbl 6
Pause
Goto 0 |
---------------------- Il y a 11 sortes de personnes. Ceux qui connaissent le unaire et ceux qui ne le connaissent pas. |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
The K
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Mer 14 Déc 2011, 21:12
|
|
|
C ne permet de stocker qu'un seul nombre : il faut donc que tu mettes le disp C dans ta boucle lbl/goto qui peut etre remplacée par une boucle While 1
Perso je propose ceci :
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
:sous-chaine(Chaine1,1,longueur(Chaine1-A
|
Ce programme permet de passer de n'importe quelle base à n'importe quelle autre tant que ces bases ne dépassent pas 36.
Comment ça il semble trop bien fait pour quelqu'un comme moi ? Bon d'accord ce n'est pas moi mais je peux vous donner les explication si vous voulez
Edit : voila désolé j'avais oublié les caractères spéciaux
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 ... |
|
|
|
MoonWalk
Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
|
Posté le : Mer 14 Déc 2011, 21:19
|
|
|
Ha ouais, je comprends mieux ton programme Erdnuss !
Par contre The K, j'veux pas t'vexer, mais j'ai rien compris à ton programme :x
|
|
|
|
Erdnuss
Autorisation : Membre
Nb de messages : 30
Inscrit le : Mer 14 Déc 2011, 20:42
|
Posté le : Mer 14 Déc 2011, 21:27
|
|
|
The K , moi aussi ^^ Mais je vien juste de connaitre For et les chaines (bien que je programmais depuis un bon bout de temps sans)
---------------------- Il y a 11 sortes de personnes. Ceux qui connaissent le unaire et ceux qui ne le connaissent pas. |
|
|
|
The K
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Mer 14 Déc 2011, 21:37
|
|
|
Pas grave ^^
Et je le reprécise --> Ce n'est pas le mien mais celui de MDR1 ^^'
Donc les explications ?
Je vous renvoie ici
http://www.siteduzero.com/tutoriel-3-407867-tp-convertisseur-de-bases.html
Si vous avez d'autres questions n'hésitez pas !
(oui désolé j'avais un peu la flemme de tout expliquer ^^')
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 ... |
|
|
|