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 C++ Discussion :

affichage format binaire


Sujet :

Langage C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2012
    Messages : 6
    Points : 7
    Points
    7
    Par défaut affichage format binaire
    Bonsoir;
    Je travaille sur un programme de compression de fichiers en cpp avec l'algorithme de Hufman.
    Au moment où je dois écrire mon arbre dans le fichier, j'ai rencontré un problème. Le code binaire des caractères est tjrs à 0 . La fonction suivante m'affiche tjrs des 0 même en passant un caractère comme constante.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Void afficherEnBinaire (char b){
       Char c = b;
       For ( int i = 0; i < 8; ++i){
           If (c & 128 != 0) cout << 1;
           Else cout << 0;
           C <<= 1;
       }
    }
    Merci et bonne année.

  2. #2
    Membre expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Points : 3 892
    Points
    3 892
    Par défaut
    Bonjour,
    Déjà si tu veux que ceci soit du C++, il faut réécrire tous les mots-clé qui ne prennent pas de majuscule. Le C++ est sensible à la casse.

  3. #3
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut,

    Heuu... une question idiote s'il en est, mais...

    Pourquoi ne pas utiliser directement std::bitset pour avoir quelque chose de simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <bitset>
    void afficherEnBinaire (char b){
       /* "normalement" on peut considérer qu'un char est composé de 8 bits */
       std::bitset<8> bits(b);
       /* mais si on n'est pas sur, on peut utiliser en valeur définie ;)
       std::bitset<CHAR_BIT> bits(b);
       */
       std::cout<<bits.to_string();
    }
    Aimes tu tellement que cela te faire du mal

    [EDIT]Et, tant qu'à faire, ce serait pas mal d'utiliser unsigned char au lieu de char (par définition, dans un fichier binaire, ce ne sont pas des caractères que l'on lit, mais bel et bien des valeurs non signées )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Citation Envoyé par walidzola Voir le message
    Attention, l'opérateur & est moins prioritaire que l'opérateur != donc ce code signifie :

Discussions similaires

  1. Affichage Format numérique dans zone de liste
    Par lbar012001 dans le forum IHM
    Réponses: 19
    Dernier message: 13/03/2007, 14h58
  2. Affichage formaté (html par exemple)
    Par Michel_57 dans le forum Delphi
    Réponses: 3
    Dernier message: 26/12/2006, 22h07
  3. [SQL] affichage format numérique
    Par pinocchio dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/10/2006, 12h01
  4. Affichage formaté
    Par Michaël dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 07/07/2006, 13h33
  5. afficher un nombre sous format binaire?
    Par sofiane44 dans le forum C++
    Réponses: 2
    Dernier message: 20/01/2006, 18h47

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