Binair to decimal et incrémenté un nbr binair

Résolu/Fermé
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 20 mars 2009 à 12:29
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 20 mars 2009 à 16:34
Bonjour,
pour passer de décimal en binaire c'est String st=Integer.toBinaryString(100);
et le contraire c'est quelle méthode ???
et comment on fait pour incrémenter un nombre binaire svp ???

6 réponses

Bonjour

Pour traduire une chaine binaire en un nombre (si c'est bien ça que tu entends par "le contraire"), si tu es en java, tu as :
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html

Pour incrémenter un nombre "binaire" il faut lui ajouter 1 :-D
Par définition, il faut toujours ajouter 1 à un nombre pour l'incrémenter, peu importe que ce soit en binaire, en décimal ou en chiffres romains. Il ne faut pas confondre le nombre et sa représentation. Incrémenter concerne le nombre, binaire concerne la représentation.
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
20 mars 2009 à 15:19
Je ne trouve pas dans ton lien une méthode qui convertit un binaire en décimal. parseInt c'est pour passer de chaine de caractère en entier.
Merci de me corriger si je me trompe.
cdlt
0
La méthode toBinaryString que tu proposais transforme un nombre en un string qui est la représentation binaire de ce nombre
Le lien que je t'ai donné permet de transformer une chaine qui est la représentation binaire d'un nombre, en ce nombre.
C'est très exactement la réciproque de ton toBinaryString

Le problème c'est que tu emploies un vocabulaire approximatif : tu dis que toBinaryString traduit du décimal en binaire, ce qui ne veut rien dire vu qu'il n'y a pas de type décimal ni binaire en Java. Regarde de près ce que fait cette méthode, tu verras bien qu'elle prend un Integer et en sort un String et que parseInt fait exactement l'opération inverse.

Il n'y a pas deux catégories d'integer, des binaires et des décimaux : ils sont tous codés en binaire (mais peu importe comment à la limite) dans la mémoire de l'ordinateur.
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
20 mars 2009 à 16:08
Ben regarde avec cette exemple :

public class Serveur {


public static void main(String []argv) throws Exception
{
int decima = 33;
String binaire= Integer.toBinaryString(decima);
System.out.println(binaire);
int decimal= Integer.parseInt(binaire);
System.out.println(decimal);

}
}

decimal ne vaut pas 33 ... ?

Ps: j'ai peut être compris ^^' tu pensais que je voulais rendre une chaine en entier en resumer, alors que je veux la conversion.

01 --> 1
10 --> 2
etc...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Tu ne respectes pas ce qui est indiqué dans le lien que je t'ai donné. Il y a un paramètre radix, et tu l'as joyeusement zappé.
il faut lui indiquer depuis quelle base tu veux convertir.
int decimal= Integer.parseInt(binaire,2);

tu pensais que je voulais rendre une chaine en entier en resumer. Oui je le pensais. Et je le pense encore :-)
0
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
20 mars 2009 à 16:34
Oui désolé j'étais vraiment dans la confusion ^^.
Merci bon week-end
Cordialement
0