CONVERSION DÉCIMAL VERS BINAIRE

bibi_81 Messages postés 345 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 octobre 2007 - 7 oct. 2004 à 20:41
nos1886 Messages postés 6 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 2 novembre 2012 - 12 janv. 2011 à 20:26
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

nos1886 Messages postés 6 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 2 novembre 2012
12 janv. 2011 à 20:26
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
pezos Messages postés 2 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 3 décembre 2006
3 déc. 2006 à 06:07
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;
}
}
cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
15 nov. 2006 à 09:11
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.
pezos Messages postés 2 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 3 décembre 2006
15 nov. 2006 à 01:41
bonjour,

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

merci
cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
8 sept. 2006 à 12:26
oups...

C'est Integer.toBinaryString(nombre) et non Integer.toStringBinary(...)
Désolé
cs_keishi Messages postés 12 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 26 avril 2007
8 sept. 2006 à 12:25
Hum... petite méthode moins jolie mais très efficace :
public String decimalToBinary(int nombre) {
return Integer.toStringBinary(nombre);
}
JD Hsu Messages postés 3 Date d'inscription jeudi 10 novembre 2005 Statut Membre Dernière intervention 10 novembre 2005 1
12 nov. 2005 à 04:18
Quelques corrections
Nommer la fonction decimalToBinary serait plus approprie
aussi
long nbreBinaire = 0 ;
DigitalSnake Messages postés 14 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 4 novembre 2004
4 nov. 2004 à 16:02
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 :)
DigitalSnake Messages postés 14 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 4 novembre 2004
4 nov. 2004 à 16:02
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 :)
DigitalSnake Messages postés 14 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 4 novembre 2004
4 nov. 2004 à 16:02
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 :)
DigitalSnake Messages postés 14 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 4 novembre 2004
28 oct. 2004 à 23:19
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);
}
bibi_81 Messages postés 345 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 octobre 2007
7 oct. 2004 à 20:45
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...
bibi_81 Messages postés 345 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 octobre 2007
7 oct. 2004 à 20:41
:'( 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 !!!
Rejoignez-nous