Conversation en décimale

mm -  
nicocorico Messages postés 846 Statut Membre -
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

A voir également:

1 réponse

nicocorico Messages postés 846 Statut Membre 138
 
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
mm
 
est ce que tu peut me donner un code svp
0
nicocorico Messages postés 846 Statut Membre 138
 
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