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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé 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
    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 : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    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 confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    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 296
    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 confirmé 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
    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 confirmé 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
    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