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 :

Operations en binaire


Sujet :

C++

  1. #1
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut Operations en binaire
    Je chercher quelques informations sur les opérations en binaire sur des variable.
    Déjà je cherche comment affecté une valeur binaire à une variable, je connais le 0xFFFF pour l'hexa. mais pas l'equivalent pour le binaire.
    En suite je souhaite "additionner" deux variable 4 bits pour donné une valeur de 8 bit. Par exemple j'ai une variable de type char avec comme valeur 1010 et une autre avec la valeur 1000. Je souhaite avoir une variable à 1010 1000. J'ai pensé a prendre une variable de type char, lui donné la 1er valeur puis déplacer les 4 1er bits vers la gauche et faire un "ou" avec la seconde variable mais je n'arrive pas à faire de le déplacement. J'utilise les signes << mais ma ligne n'est pas compilé (avec Borland C++ builder).
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <iostream.h>
     
    void main ()
    {
      char  a=15;
      char  b=10;
      char  c;
     
      b << 4;
      c = b|a;
      cout << (int)c;
    }

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Salut

    Il n'y pas d'affectation directe en binaire comme avec 0x pour l'hexa.
    Tu peux utiliser un bitset pour des valeurs de moins de 32 bits :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    std::bitset<8> Bin("11010110");
    unsigned long Value = Bin.to_ulong();
    Ensuite pour le decalage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include <iostream>  // pas .h !!
     
     
    int main ()  // int !
    { 
      char  a=15; 
      char  b=10; 
      char  c; 
     
      c = (b << 4) | a;
     
      std::cout << (int)c; 
     
       return 0;
    }

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    "<<" != "<<="
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  4. #4
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut
    Heu ... je vois pas trop la différence avec mon code initial à part les petites erreurs du code (désoler).
    Au fait question hors-sujet pourquoi y'a pas de .h à ce header ??

  5. #5
    Membre du Club Avatar de Freakazoid
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Points : 65
    Points
    65
    Par défaut
    okk j'ai compris pour le <<. C'est pas un operateur d'affection contrairemennt à <<= c'est pour sa que sa marchait pas.

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

Discussions similaires

  1. [2008R2] les operations binaires
    Par topolino dans le forum Développement
    Réponses: 7
    Dernier message: 21/08/2013, 11h27
  2. Binaire : 'Operation Not Permited'
    Par Quarko dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 12/11/2012, 11h30
  3. Donnees binaire et operations
    Par babykichon dans le forum Débuter
    Réponses: 12
    Dernier message: 02/03/2011, 11h53
  4. Operation Logique Binaire
    Par gilles06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2008, 17h20

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