[Dev Pascal] Transformer un réel en binaire...

Statut
N'est pas ouverte pour d'autres réponses.

k o D

Elite
Voilà, bonjour à vous,

J'ai quelques difficultés à voir comment transformer un réel comme 1234,567 en binaire...

Je sais qu'il faut pendre la partie entière et faire un modulo 2 et multiplier la partie décimal par 2 à chaque fois mais je n'arrive pas...

Qui pourrais m'aider???

Merci d'avance...
 
stu veux je veux bien te filer l algorytme, meme te le traduire en c, mais en pascal je connais plus trop
 
1er
OP
k o D

k o D

Elite
le programme m'avancerais bien car déjà ce n'est pas pour moi (je suis ne train de faire l'examen de programmation de potes de ma classe) et ce n'est qu'une petite partie du programme final...
 
1er
OP
k o D

k o D

Elite
ben15 aka pOiRe a dit:
stu veux je veux bien te filer l algorytme, meme te le traduire en c, mais en pascal je connais plus trop
oui l'algorithme m'ira très bien :D
 
1er
OP
k o D

k o D

Elite
ben l'algorithme alors parce que je ne vois pas comment inverser le nombre obtenu ( formé par les résultats des modulos 2 ou des multiplication de 2)
 
alors deja pour la partie entière :

obtenir x
a=x
exp=0
rep=0
while (a>0)
a=(a- aMOD2) / 2
rep = rep + (aMOD2)*10^exp
exp=exp+1
sortir (x,"en base 2 vout",rep)




vla un ptit diagramme d action pour la parite entière suffit now de la traduire en pascal.

jfé la partie réel now :D
 
1er
OP
k o D

k o D

Elite
ben15 aka pOiRe a dit:
alors deja pour la partie entière :

obtenir x
a=x
exp=0
rep=0
while (a>0)
a=(a- aMOD2) / 2
rep = rep + (aMOD2)*10^exp
exp=exp+1
sortir (x,"en base 2 vout",rep)




vla un ptit diagramme d action pour la parite entière suffit now de la traduire en pascal.

jfé la partie réel now :D
ouep merci bien :wink:
 
pour la partie reel :

obtenir b
while ( (b /= 0 ) and (cpt <= 10 ) )
b=b*2
.....if (b>=1)
........sortir (1)
........b=b-1
.....else
........sortir (0)
cpt=cpt+1
 
1er
OP
k o D

k o D

Elite
ben15 aka pOiRe a dit:
pour la partie reel :

obtenir b
while ( (b /= 0 ) and (cpt <= 10 ) )
b=b*2
.....if (b>=1)
........sortir (1)
........b=b-1
.....else
........sortir (0)
cpt=cpt+1
/= vaut dire différent c bien çà?
 
Maitre_des_Cles a dit:
ben15 aka pOiRe a dit:
pour la partie reel :

obtenir b
while ( (b /= 0 ) and (cpt <= 10 ) )
b=b*2
.....if (b>=1)
........sortir (1)
........b=b-1
.....else
........sortir (0)
cpt=cpt+1
/= vaut dire différent c bien çà?
oui :D

bon jté fais ca comme si l utilisateur t entrait d abord la partie entière puis la réelle exemple

pour traduire 10.256 il doit entrer
10 et 0.256
mais bon si tu veux que ca marche si il entre 10.256 il ya une fonction en pascal qui prend direct la partie entière ou la partie réel, mais la connais plus :-(
 
1er
OP
k o D

k o D

Elite
ben15 aka pOiRe a dit:
Maitre_des_Cles a dit:
ben15 aka pOiRe a dit:
pour la partie reel :

obtenir b
while ( (b /= 0 ) and (cpt <= 10 ) )
b=b*2
.....if (b>=1)
........sortir (1)
........b=b-1
.....else
........sortir (0)
cpt=cpt+1
/= vaut dire différent c bien çà?
oui :D

bon jté fais ca comme si l utilisateur t entrait d abord la partie entière puis la réelle exemple

pour traduire 10.256 il doit entrer
10 et 0.256
mais bon si tu veux que ca marche si il entre 10.256 il ya une fonction en pascal qui prend direct la partie entière ou la partie réel, mais la connais plus :-(
De toute manière pour obtenir la partie décimale, il suffit de faire

x = nombre - int(nombre)

:wink:
 
1er
OP
k o D

k o D

Elite
en tout cas, merci bien les gars :wink:
 
jparie que tu est aux facs a namur en 1er candi info, ou eco-math info jme trompe ????? :p
 
1er
OP
k o D

k o D

Elite
ben15 aka pOiRe a dit:
jparie que tu est aux facs a namur en 1er candi info, ou eco-math info jme trompe ????? :p
Complètement :wink:

5ème info du collège st vincent de Soignies :wink: :D
 

AcidBird

Elite
Juste pour info, en turbo pascal pour avoir la partie entière d'un nombre réel : Trunc, pour la partie décimal : Frac.
 
1er
OP
k o D

k o D

Elite
AcidBird a dit:
Juste pour info, en turbo pascal pour avoir la partie entière d'un nombre réel : Trunc, pour la partie décimal : Frac.
oui mais comme on utilise Dev pascal :wink: enfin merci quand même :)
 
P

piet

ex membre
moi j'avais les méthodes aussi, mais c'était pour coder sur des machines 16, 32 ou 64 bits... et il y a pas mal de représentation à vrai dire!
 

Douby

Elite
:arrow: Go calculette scientifique windows :D :D
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut