Conversation en décimale

Bonjour,
svp j'ai un problème dans la conversation d'une chaine de caractère qui prèsente un nombre binaire en un nombre décimale j'ai essayer avec ça mais ça marche pas

nt puisa = 1;
int deca = 0;

for (int i = a.length(); i >= 0; i--)
{
deca = deca+ a.charAt(i)*puisa;
puisa =puisa*2;
}

svp qui peut m'aider c'est très urgent et merci d'avance

1 réponse

  1. Oui c'est normal que ça ne fonctionne pas, il faut que tu testes si le caractère est 0 ou 1 puis que tu insères l'équivalent numérique dans ta variable...
    0
    1. est ce que tu peut me donner un code svp
      0
    2. Je ne connais pas le c++, alors je ne peux te le donner ainsi, et puis il serait bon que tu le fasse par toi-même...
      En fait il faut que tu remplaces le contenu de ta boucle par un truc du genre

      Resultat = Resultat * 2;
      Si a.charAt(i) = "1" alors Resultat = Resultat + 01;

      Ainsi, tu insères "1" chaque fois qu'il est rencontré dans la chaine en binaire, et tu pousses le résultat vers les bits forts à chaque itération...
      0