Conversation du binaire en décimale

mk -  
 mk -
Bonjour,
je suis bloqué dans ma application à la conversation d'une chaine de caractére binaire en un nombre décimale comment je peut faire :
j'ai une chaine de caractère a="100011" je veut qu'elle soit en décimale et puis je veut que le nombre décimale soit en chaine de caractére c.à.d résultat finale ar="35"
svp qui peut m'aider c urgent

2 réponses

  1. blux Messages postés 5043 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    soit tu fais la conversion à la main, avec les puissances de 2, soit tu utilises une fonction du langage avec lequel tu développes...
    0
    1. mk
       
      j'ai essayer avec ça mais ça marche pas
      et j'utilise l'esclipse
      int puissancea = a.length() - 1; // X*2^puissance
      int deca = 0; //Resultat de la conversion
      char bita; //Variable chargée de récupérer chaques chiffres binaires pour les traîter

      for (int i = a.length(); i > 0; i--)
      {
      bita = a.charAt(i-1);
      deca += Integer.valueOf(bita).intValue() * Math.pow(2, puissancea);
      puissancea --;
      }
      0
  2. Bruce Willix Messages postés 12376 Date d'inscription   Statut Contributeur Dernière intervention   2 640
     
    Le puissances de 2 ça reste le plus simple et en fait le problème est... binaire.

    100011, c'est:

    1 = 1 * 2^5 = 32
    0 = 0 * 2^4 = 0
    0 = 0 * 2^3 = 0
    0 = 0 * 2^2 = 0
    1 = 1 * 2^1 = 2
    1 = 1 * 2^0 = 1

    Et tu additionnes.
    0
    1. mk
       
      oui bruce je sait l'algorithme mais la développement en java ça marche pa
      0
    2. Bruce Willix Messages postés 12376 Date d'inscription   Statut Contributeur Dernière intervention   2 640
       
      Oui, j'ai répondu un peu vite, avant ta réponse :)

      Je connais pas Java, donc je vous laisse entre pros :)

      Good luck !
      0
    3. mk
       
      merci bien bruce c gentille
      0
    4. blux Messages postés 5043 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      J'ai trouvé ça via google en 10 secondes :

      static int java.lang.Integer.parseInt(String s, int radix);

      public class TestParseInt {
      public static void main(String[] args) {
      int base = Integer.parseInt(args[1]);
      System.out.println("Valeur en base " + base + " : " + args[0]);
      System.out.println("Valeur en base 10 : " + Integer.parseInt(args[0], base));
      }
      }
      0
    5. mk
       
      ok merci
      0