Conversation du binaire en décimale

Fermé
mk - 5 juin 2012 à 13:05
 mk - 5 juin 2012 à 13:24
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

blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 319
5 juin 2012 à 13:06
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
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 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
5 juin 2012 à 13:09
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
oui bruce je sait l'algorithme mais la développement en java ça marche pa
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
5 juin 2012 à 13:20
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
merci bien bruce c gentille
0
blux Messages postés 26546 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 24 décembre 2024 3 319
5 juin 2012 à 13:22
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
ok merci
0