Poster un nouveau sujet Poster une réponse
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   Citer 

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 !

 Adresse email Haut de page Bas de page 
 
Erdnuss
Invité
Posté le : Mer 14 Déc 2011, 20:41   Citer 

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



  Haut de page Bas de page 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 14 Déc 2011, 20:46   Citer 

Je n'ai pas très bien compris ton code ... moodforlove.gif

 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 : Mer 14 Déc 2011, 20:57   Citer 

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 crazy.gif qu'il faut rajouter a la fin :


Code
: Lbl 2
: Disp C



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.
 Adresse email Haut de page Bas de page 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 14 Déc 2011, 21:00   Citer 

Ha d'accord, faudrait que tu le mettes pour que je puisses comparer ! winkle.gif

 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 : Mer 14 Déc 2011, 21:08   Citer 

Sachant que j ai pas le cable : applaudissez moi laugh.gif

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.
 Adresse email Haut de page Bas de page 
 
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   Citer 

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 minied.gif mais je peux vous donner les explication si vous voulez winkle.gif

Edit : voila désolé j'avais oublié les caractères spéciaux crazy.gif

----------------------
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 ...
 Adresse email Haut de page Bas de page 
 
MoonWalk



Autorisation : Membre
Nb de messages : 57
Inscrit le : Ven 11 Mar 2011, 20:55
Posté le : Mer 14 Déc 2011, 21:19   Citer 

Ha ouais, je comprends mieux ton programme Erdnuss ! happy.gif


Par contre The K, j'veux pas t'vexer, mais j'ai rien compris à ton programme :x

 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 : Mer 14 Déc 2011, 21:27   Citer 

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.
 Adresse email Haut de page Bas de page 
 
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   Citer 

Pas grave ^^

Et je le reprécise --> Ce n'est pas le mien mais celui de MDR1 ^^'

Donc les explications ?

Je vous renvoie ici winkle.gif
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 ...
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink