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

A voir également:

2 réponses

blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
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
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
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
mk
 
oui bruce je sait l'algorithme mais la développement en java ça marche pa
0
Bruce Willix Messages postés 11966 Date d'inscription   Statut Contributeur Dernière intervention   2 594
 
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
mk
 
merci bien bruce c gentille
0
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
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
mk
 
ok merci
0