CONVERSION DÉCIMAL VERS BINAIRE

Signaler
Messages postés
345
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
25 octobre 2007
-
Messages postés
6
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26456-conversion-decimal-vers-binaire

Messages postés
6
Date d'inscription
lundi 17 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2012

Bonjour,

Je trouve que c'est une usine à gaz, la fonction ci-dessous réalise le même calcule à l'exception qu'il convertit n'importe quelle base en décimal d'où l'entrée et la sortie de String.

public static String BaseNToDecimal (String nombre, int base) {
return String.valueOf(Integer.parseInt(nombre, base));
}

Ciao
Messages postés
2
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
3 décembre 2006

bonjour,

keishi j'ai trouve un facon pour convertir de decimal en binaire par recursivite

c'est tres simple :


class dectobin
{

public static int décVersBin (int déc)
{

int binPartiel;

int bin;

if (déc < 2)
{

bin = déc;
}
else

{

binPartiel = décVersBin( déc / 2 );
bin = (binPartiel * 10) + (déc % 2);
}
\
return bin;
}
}
Messages postés
12
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
26 avril 2007

PEZOS > Euh... je ne vois pas trop comment faire une conversion Decimal -> Binaire en récursif.
Sauf erreur de ma part, en récursif, on fait une méthode qui se rappelle elle-même.
Hors, dans le cas présent, on a une méthode qui prend en entrée un décimal et qui retourne un binaire. Si la méthode se rappelle elle même, elle va se rappeler avec en argument un binaire (puisque c'est sa sortie).
Et là, c'est le drame.
Messages postés
2
Date d'inscription
mercredi 15 novembre 2006
Statut
Membre
Dernière intervention
3 décembre 2006

bonjour,

est ce qu'on peut ecrire ce programme d'une facon recursif???

merci
Messages postés
12
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
26 avril 2007

oups...

C'est Integer.toBinaryString(nombre) et non Integer.toStringBinary(...)
Désolé
Messages postés
12
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
26 avril 2007

Hum... petite méthode moins jolie mais très efficace :
public String decimalToBinary(int nombre) {
return Integer.toStringBinary(nombre);
}
Messages postés
3
Date d'inscription
jeudi 10 novembre 2005
Statut
Membre
Dernière intervention
10 novembre 2005
1
Quelques corrections
Nommer la fonction decimalToBinary serait plus approprie
aussi
long nbreBinaire = 0 ;
Messages postés
14
Date d'inscription
lundi 4 novembre 2002
Statut
Membre
Dernière intervention
4 novembre 2004

public class Test{

public static void main(String [] args){
System.out.println("lancement du programme");
System.out.println("--> "+BinaireToDouble(32));
}


public static double BinaireToDouble(int nbreDecimal){
int n = 1;
double nbreBinaire = 0 ;
System.out.println("le nombre decimale entre est : "+ nbreDecimal);

while (nbreDecimal>0){
nbreBinaire = nbreBinaire+ ( n*(nbreDecimal % 2)) ;

nbreDecimal = nbreDecimal/2;
n = n*10;
}
return nbreBinaire;
}

}

--> voila c est tester et juste :)
Messages postés
14
Date d'inscription
lundi 4 novembre 2002
Statut
Membre
Dernière intervention
4 novembre 2004

public class Test{

public static void main(String [] args){
System.out.println("lancement du programme");
System.out.println("--> "+BinaireToDouble(32));
}


public static double BinaireToDouble(int nbreDecimal){
int n = 1;
double nbreBinaire = 0 ;
System.out.println("le nombre decimale entre est : "+ nbreDecimal);

while (nbreDecimal>0){
nbreBinaire = nbreBinaire+ ( n*(nbreDecimal % 2)) ;

nbreDecimal = nbreDecimal/2;
n = n*10;
}
return nbreBinaire;
}

}

--> voila c est tester et juste :)
Messages postés
14
Date d'inscription
lundi 4 novembre 2002
Statut
Membre
Dernière intervention
4 novembre 2004

public class Test{

public static void main(String [] args){
System.out.println("lancement du programme");
System.out.println("--> "+BinaireToDouble(32));
}


public static double BinaireToDouble(int nbreDecimal){
int n = 1;
double nbreBinaire = 0 ;
System.out.println("le nombre decimale entre est : "+ nbreDecimal);

while (nbreDecimal>0){
nbreBinaire = nbreBinaire+ ( n*(nbreDecimal % 2)) ;

nbreDecimal = nbreDecimal/2;
n = n*10;
}
return nbreBinaire;
}

}

--> voila c est tester et juste :)
Messages postés
14
Date d'inscription
lundi 4 novembre 2002
Statut
Membre
Dernière intervention
4 novembre 2004

heum trop long .... matte ca

public String BinaireToDouble(int nbreDecimal){
int n = 1;
double nbreBinaire = 0 ;
System.out.println("le nombre decimale entré est : "+ nbreDecimal);

while (nbreDecimal>0){
nbreBinaire = nbreBinaire+ ( n*(nbreDecimal % 2)) ;
if(nbreDecimal%2 !=0) nbreDecimal ++;
nbreDecimal = nbreDecimal/2;
n = n*10;
}
System.out.println("le nombre binaire est : "+nbreBinaire);
}
Messages postés
345
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
25 octobre 2007

sa me dit sa :
GE2001 version 1.4 - Copyright 2003 Xinox Software
Error : Invalid path, \bin\java.exe -classpath "C:" DecToBin"
Press any key to continue...
Messages postés
345
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
25 octobre 2007

:'( sa marche pas ... sa doit etre monlogiciel ... sa fais DEUX source qui me fai sa .. :'( c'est trop nul :'(:'( viteee envoyer moi des bon logiciels SVP !!!