IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

Transformer tableau de booléens en une variable héxadécimale


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut Transformer tableau de booléens en une variable héxadécimale
    Bonjour à tous,

    Je cherche un moyen de transformer un tableau de booléens nommé PortA[] en une variable héxadécimale.

    Par exemple, si le tableau contient {0, 0, 0, 0, 0, 0}, la variable devra contenir 0x00, et ainsi de suite.

    Quelqu'un a t'il une idée ?

    Merci d'avance...

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par H3bus Voir le message
    Bonjour à tous,

    Je cherche un moyen de transformer un tableau de booléens nommé PortA[] en une variable héxadécimale.

    Par exemple, si le tableau contient {0, 0, 0, 0, 0, 0}, la variable devra contenir 0x00, et ainsi de suite.

    Quelqu'un a t'il une idée ?

    Merci d'avance...
    Un tableau de booléens ne pourra contenir que des valeurs en true ou false

    Je repost sous peu pour faire le cas d'un tableau d'int

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Oui, j'ai d'ailleurs réussi à transformer le tableau de booléens en tableau d'int de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	   for(i=0;i<6;i++){
    		   portAint[i] = ((portA[i])? 1 : 0);
    	   }
    Mais pour passer en héxa, je séche...

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Pour obtenir la valeur d'un bit il suffit de jouer avec les décalages de bits, et d'additionner les valeurs tous les "1" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	public static int toInteger(boolean[] b) {
    		if (b.length>32) {
    			throw new IllegalArgumentException("length>32");
    		}
    		int decalage = 0;
    		int result = 0;
    		for (int i=b.length-1; i>=0; i--) {
    			if (b[i]) {
    				result += 1<<decalage;
    			}
    			decalage++;
    		}
    		return result;
    	}
    a++

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2006
    Messages : 32
    Points : 33
    Points
    33
    Par défaut
    Je te propose ceci pour passer d'int à hexadécimal. Mais je me demande dans quelle mesure cela va t'aider car je suis obligé de passer par un String pour garder le typage des int en héxa (à savoir 0x)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public static void main(String[] args) {
     
    	int[] intArray = new int[]{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    	String[] hexArray = new String[intArray.length];
     
    	for (int i = 0; i < intArray.length; i++)
    	     hexArray[i] = "0x" + Integer.toHexString(intArray[i]);
     
    	for (String i : hexArray)
    	     System.out.println(i);
    }
    Pour la découverte de cette méthode : Integer.toHexString(int i) je suis aller consulter la doc de l'api java
    http://java.sun.com/j2se/1.4.2/docs/...oHexString(int)

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    brainstorm, le problème de ta méthode, c'est qu'elle continue à me renvoyer un tableau, et moi j'ai besoin du résultat en héxa, mais dans une variable simple.

    Par contre, la solution d'adiGuba me convient, car elle stocke le resultat dans un int result.

    Merci beacoup à tout les 2 pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Transformer contenu d'une variable en Tableau
    Par jaymzwise dans le forum VBA Access
    Réponses: 6
    Dernier message: 11/03/2013, 18h55
  2. Tableau de base avec une variable INT aléatoire
    Par stemariej dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 11/12/2009, 07h03
  3. Réponses: 3
    Dernier message: 19/03/2007, 18h29
  4. Acces à une variable-tableau de PHP
    Par Erwan21 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/02/2005, 13h55
  5. [Collections] Transformer un tableau de données en une chaîne
    Par NATHW dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/06/2004, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo