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

Langage Java Discussion :

^= et << ? Qu'est-ce-que ça veut dire ?


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut ^= et << ? Qu'est-ce-que ça veut dire ?
    Je matte les sources du Framework Spring et je suis tombé sur du code, dont j'aimerai bien savoir la signification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    static int hash(Object x) {
            int h = x.hashCode();
     
            h += ~(h << 9);
            h ^=  (h >>> 14);
            h +=  (h << 4);
            h ^=  (h >>> 10);
            return h;
        }
    Et mon bon ami Google ne veut pas de mes caractères "^="....

    Vous savez ce que ça signifie ?

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    il s'agit d'opérateur de rotation de bit...

    tapes "java opérateurs" dans tu trouveras ton bonheur


  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 163
    Points : 143
    Points
    143
    Par défaut
    Merci.

  4. #4
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Citation Envoyé par cicolas
    Je matte les sources du Framework Spring et je suis tombé sur du code, dont j'aimerai bien savoir la signification :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    static int hash(Object x) {
            int h = x.hashCode();
     
            h += ~(h << 9);
            h ^=  (h >>> 14);
            h +=  (h << 4);
            h ^=  (h >>> 10);
            return h;
        }
    Et mon bon ami Google ne veut pas de mes caractères "^="....

    Vous savez ce que ça signifie ?
    Déjà il y a les "simplification d'opérateur", ainsi:
    h = h + 1 est équivalent à h += 1
    h = h ^ 5 est équivalent à h ^= 5

    Le ^ signifie OU EXCLUSIF BIT À BIT.
    4 << 2 signifie que tu déplaces les bits du nombre 4 de 2 positions vers la gauche (donc tu multiplies par 4).
    4 >> 2 : pareil mais divisé par 4.
    4 >>> 2 : Je ne connaissais pas, mais ça a l'air d'être pareil que >>.
    ~4 c'est la négation bit à bit.

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

Discussions similaires

  1. Qu'est ce que ça veut dire
    Par Elwe31 dans le forum VB.NET
    Réponses: 1
    Dernier message: 15/01/2008, 11h59
  2. Réponses: 6
    Dernier message: 25/05/2007, 09h46
  3. If (document.all) : qu'est-ce que ça veut dire?
    Par AzertyH dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2006, 23h22
  4. Qu'est ce que ça veut dire ?
    Par feltin dans le forum Zope
    Réponses: 3
    Dernier message: 12/07/2006, 14h12
  5. Qu'est ce que static veut dire
    Par shirya dans le forum C++
    Réponses: 5
    Dernier message: 22/11/2005, 09h50

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