Conversion décimal vers binaire

Soyez le premier à donner votre avis sur cette source.

Vue 41 021 fois - Téléchargée 1 449 fois

Description

Code permettant de convertir un nombre decimal en binaire tout simplement

Source / Exemple :


public class DecToBin
{
	public static void main(String args[])
	{

		/****************  variables  ***************/

		int nombre = 0;
		int nb1 = 0;
		int nb0 = 0;
		int reste = 0;
		String rep = "\0";
		char chr;
		int premiere_valeur_nombre;

		/********  fin déclaration variables ********/

		do{

		rep = " ";		

		System.out.print("Entre un nombre en decimal : ");
		nombre = Clavier.lireInt();
		premiere_valeur_nombre = nombre;

		while(nombre > 1)
		{
			reste = nombre % 2;
			nombre = nombre / 2;

			if (reste == 1)
			{
				nb1++;
				rep = rep + '1';
			}
			else
			{
				nb0++;
				rep = rep + '0';
			}
		}

		if (nombre == 1)
		{
			nb1++;
			rep = rep + '1';
		}

		if (nombre == 0)
		{
			nb0++;
			rep = rep + '0';
		}

		/**************** inversement de la valeur ****************/

		int longueur = rep.length();
		int j;
		char inv = ' ';
		System.out.print("\nValeur binaire de " + premiere_valeur_nombre + " : ");
		for(j=(longueur-1) ; j>=0 ; j--)
		{
			inv = rep.charAt(j);
			System.out.print(inv);
		}

		/********************* fin inversement ********************/

		System.out.print("\n\n\nTape 'q' pour quitter ou une autre touche pour recommencer : ");
		
		chr = Clavier.lireChar();

		}while(chr != 'q');
	}
}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

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é
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.