[JAVA] convertion binaire

Résolu
oliver3923 Messages postés 1059 Statut Membre -  
Mihawk Messages postés 4753 Statut Contributeur -
Bonjour,

j'ai fait un programme en java pour convertir des nombres décimaux en nombres binaires (ou n'importe quelle autre base)

voici d'abord le code :

import java.util.Scanner;


public class Convertisseur{
	public static void main (String[] args) {
		
		int decimal, quotient, reste, choix, base;
		Scanner sc = new Scanner (System.in);
		
	
		System.out.println ("Que voulez vous faire : ");
		System.out.println ("1. decimal--binaire");
		System.out.println ("2. binaire--decimal");
		System.out.println ("3. decimal-- base(x)");
		choix = sc.nextInt();
		
		switch (choix)
		{
			case 1 :
			{
		System.out.print ("entrez un nombre decimal : ");
		decimal = sc.nextInt();
		
		quotient = decimal /2;		  
		
		reste = decimal %2;
		
		System.out.print (reste);
				
					while (quotient >= 2)
		{
			
			reste = quotient %2;
			quotient = quotient / 2;
		
		System.out.print (reste);
		}
		
		System.out.print (quotient+ "\n");
		
			}
		
				break;
			
			case 2 :
				break;
			
			case 3 :
			{
				System.out.print ("entrez un nombre decimal : ");
				decimal = sc.nextInt();
				System.out.print ("entrez une base : ");
				base = sc.nextInt();
				
				quotient = decimal / base;
				reste = decimal - quotient * base;
				System.out.print (reste);
				
				while (quotient >= base)
				{
					reste = quotient %base;
					quotient = quotient / base;
					System.out.print (reste);
				}
				System.out.println (quotient);
				
			}
			
		}
		
	
}
}


alors j'ai deux questions :
la première comment faire pour afficher le résultat en binaire dans le bon sens?
Pour ceux qui ne savent pas faire les conversions il faut diviser le nombre décimal par 2 (en nombre entier) puis le quotient par 2 a nouveau jusqu'a ce que le quotient soit inférieur a 2 (donc 0 ou 1)
le résultat est alors le dernier quotient suivi par tout les restes pris a l'envers
or mon programme donne ce résultat a l'endroit (pas une catastrophe suffit de lire a l'envers mais c'est désagréable^^)
donc si vous savez comment faire ca serait sympa de m'expliquer

la seconde question : vous avez probablement remarqué qu'il n'y a rien pour la partie conversion binaire-décimal
c'est tout simplement pcq je n'y arrive pas
j'avais pensé a mettre le nombre binaire dans un tableau puis faire une boucle qui part de la fin en prenant 3 chiffres a chaque fois (ou 4 je ne me souviens plus) mais je ne peux pas savoir a l'avance la taille du tableau a utiliser et il faudrait faire entrer a chaque chiffre donc c'est tout sauf pratique.
a nouveau si vous avez une solution je prend

merci d'avance pour vos réponses

6 réponses

  1. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Je pense pas que je m'inquièterais de toutes manières ^^
    2
  2. oliver3923 Messages postés 1059 Statut Membre 143
     
    pourrait tu m'expliquer les tableaux a taille variable stp?
    je ne trouve rien de clair sur google (je ne suis pas très bon en java mais j'aimerais bien réussir ce programme^^)
    0
  3. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Hello,

    Jette donc un oeil ici : http://download.oracle.com/javase/1.4.2/docs/api/java/util/Vector.html

    Si tu lis l'anglais tu ne devrais pas avoir de mal à comprendre !
    0
  4. oliver3923 Messages postés 1059 Statut Membre 143
     
    ok merci
    je vais lire ca (ca fait longtemps que j'ai pas fait d'anglais donc le temps de traduire tkt pas si t'as plus de nouvelles pour mon programme pendant 1jour ou 2)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. oliver3923 Messages postés 1059 Statut Membre 143
     
    lol
    je voulais juste dire pense pas que je suis pas sympa pcq je te remercie pas tout de suite^^
    je comprend a peu près ce que j'ai lu ca devrait aller

    donc merci pour ton aide^^
    0
    1. Mihawk Messages postés 4753 Statut Contributeur 846
       
      De rien :-)
      0
  7. Mihawk Messages postés 4753 Statut Contributeur 846
     
    Salut,

    1/ Lit ton tableau de la droite vers la gauche, et place les chiffres un à un dans un second tableau.

    2/ Il existe des tableau à taille variable en Java, les "vector" je crois :-)
    -1
    1. choubaka Messages postés 5535 Date d'inscription   Statut Modérateur Dernière intervention   2 113
       
      il vaut mieux utiliser les ArrayList que les Vector ...
      0