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

C Discussion :

decalage des bits <<


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Novembre 2006
    Messages
    371
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 371
    Par défaut decalage des bits <<
    bonjour
    qu'est ce que le décalage des bits << ou >> fait ?
    j'ai lu un truc qui explique, mais j'ai rien compris à part la casse de tète avec le code binaire, mais le vrai rôle de << ou >>
    je ne sais pas.

    exemple :
    mais pour l'amour de dieu c'est quoi <<
    quand je peux utiliser ces <<
    et pourquoi je vais l'utiliser, et ça sert a quoi d'utiliser <<

    merci avance

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    Alors le fait d'utiliser l'opérateur >> ou << sur un variable "décale" les bits de celle-ci sur la gauche ou la droite.


    EX :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    char aDecal;//on suppose que le char est codé sur 1 octet hein
    aDecal=0x04;//qui donne 0000 0100 en binaire
    aDecal<<=1;
    printf("0x%.2x",aDecal);//t'affiche 0x08 dans la console
    En gros ça "pousse" les bits sur la gauche (<<) en virant les X bits de poids fort et en remplaçant les X bits de poids faible par des 0.
    Si tu utilises l'autre (>>) tu vire les X bits de poids faible et remplace les X bits de poids fort par des 0.

    Bonne chance

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Citation Envoyé par rilou Voir le message
    Si tu utilises l'autre (>>) tu vire les X bits de poids faible et remplace les X bits de poids fort par des 0.
    Sauf si tu appliques >> à un nombre signé négatif.

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par CLion Voir le message
    qu'est ce que le decalage des bits << ou >> fait ?
    j'ai lu un truc qui explique, mais j'ai rien pris a part la casse de tete avec le code binaire, mais le vrai role de << ou >>
    je ne sais pas.
    http://emmanuel-delahaye.developpez....urs-bit-bit-c/

Discussions similaires

  1. decalage de bits
    Par romeo9423 dans le forum C
    Réponses: 3
    Dernier message: 27/01/2006, 17h37
  2. concatener des bits
    Par philippe V dans le forum C++
    Réponses: 16
    Dernier message: 23/08/2005, 01h26
  3. Decalage de bits ... curiosité !
    Par Franck.H dans le forum C
    Réponses: 8
    Dernier message: 27/06/2005, 12h15
  4. Travailler avec des bits
    Par Vulvulune dans le forum Langage
    Réponses: 5
    Dernier message: 02/03/2003, 19h09
  5. Question : ordre des bits ?
    Par Choupi dans le forum C
    Réponses: 3
    Dernier message: 11/02/2003, 06h22

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