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 Perl Discussion :

[Conversion] Hexa -> binaire


Sujet :

Langage Perl

  1. #1
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut [Conversion] Hexa -> binaire
    Bonjour

    je voulais savoir si il existait en perl une méthode native qui permet de convertir des hexa en binaire ?
    J'ai vu qui avait la méthode sprintf mais j'avoue que je n'ai pas trouvé l'option qu'il me faut

    Et pour être plus précis j'ai un format de ce type là en entrée : 0xffffffff

    merci

  2. #2
    Membre chevronné
    Avatar de Schmorgluck
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    371
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2006
    Messages : 371
    Par défaut
    Yup, en combinant la fonction oct, et la fonction sprintf utilisée avec la balise %b.

    oct interprête (en tout cas essaie d'interpéter) la chaîne reçue en argument comme un nombre octal, en ignorant les caractères blancs initiaux, sauf si les premiers caractères non-blancs sont "0b", auquel cas la chaîne est interprétée comme du binaire, ou "0x", auquel cas la chaîne est interprétée comme de l'hexadécimal. oct retourne la valeur entière correspondant à la chaîne.

    La balise %b de la chaîne de format de sprintf génère une représentation en binaire du nombre reçu en argument.

    Donc, vu que ton entrée en hexadécimal commence déjà par "0x" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $binaire=sprintf "%b",oct $hexadecimal;
    Si ça n'était pas le cas, il suffirait de l'ajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $binaire=sprintf "%b",oct "0x".$hexadecimal;
    Il pourrait dans ce cas être utile de virer les blancs initiaux éventuels :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $hexadecimal=~s/^\s+//;
    $binaire=sprintf "%b",oct "0x".$hexadecimal;

  3. #3
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    merci beaucoup et bonne journée

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

Discussions similaires

  1. Conversion Hexa => binaire => décimal
    Par Matmal11 dans le forum Tcl/Tk
    Réponses: 6
    Dernier message: 10/04/2010, 13h53
  2. [LabView-MATLAB] Conversion de fichier binaire
    Par flzox dans le forum LabVIEW
    Réponses: 3
    Dernier message: 20/01/2007, 18h42
  3. [Debutant] Conversion Hexa en Binaire
    Par radskin dans le forum C
    Réponses: 6
    Dernier message: 11/09/2006, 10h24
  4. Conversion Hexa --> Decimal
    Par lory_van_eyck dans le forum Général Python
    Réponses: 2
    Dernier message: 28/09/2005, 07h29
  5. conversion hexa-binaire
    Par jack69 dans le forum C
    Réponses: 8
    Dernier message: 04/04/2005, 16h33

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