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 :

Hexadecimal en binaire


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 193
    Par défaut Hexadecimal en binaire
    Bonjour,

    Je voulais savoir si il ya une manière simple de passer de l'hexadecimal au binaire (ou au décimal) sans faire de fonction svp...

    Merci

  2. #2
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Heuu ... c'est très vague comme question.
    Tu veux stocker ça dans une chaîne de caractères ?

    Un nombre décimal est un nombre héxadécimal (et binaire mais faut faire une fonction)

  3. #3
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    tu peux utiliser les fonction d'affichage type printf, sprintf, ...

    je n'ai pas de compilateur sous la main, dans l'esprit j'aurais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdio.h>
     
     
    int main (int argc, char* argv[]) {
     
      unsigned int a = 25;
     
      printf("octal: %o, decimal: %d, hexadecimal: %x\n",a,a,a);
     
      return 0;
    }
    Ceci dit le mapping est assez direct entre l'hexadecimal et le binaire un digit hexadecimal représente un demi octet.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 193
    Par défaut
    En réalité ce que je cherche à faire, gé un fichier en langage machine (représentation hexadécimal) et je veux extraire certains données et en particulière une=> je cherche alors par passer par une représentation binaire sur 32 bits et prendre la valeur de la 15 ème bit (car cé la 15 ème bit qui minteresse)

  5. #5
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    soit n un entier 32 bits et b un quelconque entier pour stocker le 15ème bit de n.

    b = (n >> 14) & 1;

    Et c'est fini. b aura comme valeur 1 ou 0 selon que le 15ème bit de n vaut 1 ou 0.

    Une autre solution :

    b = ((n & 0x4000) != 0);

    Les opérateurs de manipulation de bits

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 193
    Par défaut
    Bonjour,

    Je voulais savoir si mon programme marche ou non sachant que je pars d'un fichier en hexadécimal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int conversion(FILE * f, int lg){
        char buf [5000];
        int indice=0, instr=0;
        fgets(buf,4999,f);
        if (lg<4999){
            while(*buf!='\0'){
                instr= buf[indice]*16>>lg+4;
            }
        }
    }

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 193
    Par défaut
    Mon fichier en hexadecimal est de la forme
    E8400000
    A8010014

Discussions similaires

  1. Hexadecimal et binaire
    Par Voldemort09 dans le forum Bibliothèque standard
    Réponses: 4
    Dernier message: 06/04/2008, 21h00
  2. Conversion Hexadecimal to binaire
    Par marco80 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 02/05/2007, 10h35
  3. [C++.Net] convertir du binaire en hexadecimal
    Par lowrider dans le forum MFC
    Réponses: 2
    Dernier message: 01/05/2006, 14h53
  4. Différence entre binaire et hexadecimal (pour TPE)
    Par vaderetro33 dans le forum Ordinateurs
    Réponses: 7
    Dernier message: 28/02/2006, 19h42
  5. Conversion binaire -> hexadecimal
    Par barthelv dans le forum C
    Réponses: 2
    Dernier message: 06/08/2003, 10h40

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