0
votes

convertir la décimale en binaire

Le code est principalement terminé, mais mon code imprime mal son impression comme 110, par opposition à 011. Le problème que vous devez inverser le "110" à "011" xxx


2 commentaires

Le nombre maximum d'un entier peut prendre est 2147483647. Il s'agit que de 10 chiffres, ce qui signifie que le nombre de binaires maximum que vous pouvez avoir est de 1111111111, qui est 1023. Vous devez utiliser une chaîne plutôt que de stocker votre binaire si votre entrée sera supérieure à 1023


Votre code fonctionne correctement. Si vous mettez en 6, il imprime 110, ce qui est correct.


3 Réponses :


0
votes

Vous pouvez simplement utiliser Integer # TobinyString (INT) pour renvoyer le résultat en tant que chaîne binaire. xxx


3 commentaires

Je suis assez nouveau à Java, donc je ne sais pas comment faire ça: p


Mis à jour le message principal.


POST MISE À JOUR COMME IMPEDPOKE.



0
votes

Vous pouvez imprimer directement chaque chiffre binaire sans le stocker dans binaireNum xxx


0 commentaires

1
votes

Utilisez ensuite une chaîne comme suit:

   int num = scan.nextInt();

   String s = "";
   while (num != 0) {
    int   rem = num % 2;
      num /= 2;
      s = s + rem; // this concatenates the digit to the string in reverse order.

      // if you want it in normal order, do it ->  s = rem + s;
   }
   System.out.println(s);


3 commentaires

Ou si OP ne veut pas de chaînes, binairenum = (binairenum * 10) + rem ..?


@ashu pour des nombres binaires réguliers, oui. Mais cela ne montre pas le seuil de zéro s'il est imprimé à l'envers, il montre 11 pour 6 et non 011.


Aah oui! OFF par zéro : p