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

Conversion d'un nombre hexadécimal en flottant [PHP 5.0]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut Conversion d'un nombre hexadécimal en flottant
    Bonjour,

    Savez vous comment faire pour convertir un nombre hexadécimal en float :

    Exemple :
    403F5C29 devrait donner 2.99

    Pour ma part je sèche totalement.

    Merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Salut,

    http://fr.php.net/manual/fr/function.hexdec.php devrait faire l'affaire.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Merci de ta réponse.

    Cependant, j'ai déjà utilisé cette fonction qui me donne en sortie 1077894185.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 256
    Points : 83
    Points
    83
    Par défaut
    J'ai trouvé une fonction qui me permet de passer d'un binaire à un float.

    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
    16
    17
    18
    19
    20
    21
    22
    23
     
    function bin2float ($bin) {
        if((ord($bin[0])>>7)==0) $sign=1;
        else $sign=-1;
        if((ord($bin[0])>>6)%2==1) $exponent=1;
        else $exponent=-127;
        $exponent+=(ord($bin[0])%64)*2;
        $exponent+=ord($bin[1])>>7;
     
        $base=1.0;
        for($k=1;$k<8;$k++) {
         $base+=((ord($bin[1])>>(7-$k))%2)*pow(0.5,$k);
        }
        for($k=0;$k<8;$k++) {
         $base+=((ord($bin[2])>>(7-$k))%2)*pow(0.5,$k+8);
        }
        for($k=0;$k<8;$k++) {
         $base+=((ord($bin[3])>>(7-$k))%2)*pow(0.5,$k+16);
        }
     
        $float=(float)$sign*pow(2,$exponent)*$base;
        return $float;
    }

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

Discussions similaires

  1. [Conversion chaine en nombre]
    Par tesla dans le forum Oracle
    Réponses: 2
    Dernier message: 06/11/2006, 17h28
  2. Réponses: 4
    Dernier message: 19/06/2006, 19h15
  3. 50.00 n'est pas un nombre en virgule flottante correct
    Par Merfolk dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/01/2006, 00h44
  4. Fonction de conversion de COLORREF en hexadécimal?
    Par charliejo dans le forum MFC
    Réponses: 4
    Dernier message: 21/02/2004, 18h25
  5. [FloatToStr] Conversion d'un nombre en AnsiString
    Par bebeours dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/09/2003, 00h21

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