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

VB.NET Discussion :

Convertir une chaine binaire en Real32


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 50
    Points
    50
    Par défaut Convertir une chaine binaire en Real32
    Bonjour,
    je dispose d'une chaine binaire de type 10110001011000110100011100001110 que je souhaiterai convertir en real32
    j'ai passé quelques heures sur google pour trouver des solutions, mais rien ne semble aller
    Vous êtes donc mon dernier recours...

    Merci d'avance pour votre aide

    clément

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    bitconverter
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    alors je suis parti de la définition d'un nombre à virgule flottante sur 32 bits que l'on peut trouver sur wikipedia.
    A noter : mon code est en C#, je te laisserai faire la trad qui sera assez facile, sachant que toutes les fonctions utilisées ici existent dans les deux langages.

    Première étape : on découpe la représentation binaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string bin = "10110001011000110100011100001110";
    string sSigne = bin.Substring(0, 1);
    string sExposant = bin.Substring(1, 8);
    string sMantisse = bin.Substring(9);
    Deuxième étape : on en fait des valeurs manipulables (passage en décimal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int iSigne = Convert.ToInt32(sS, 2);
    int iExposant = Convert.ToInt32(sE, 2);
    int iMantisse = Convert.ToInt32(sM, 2);
    Troisième étape : on fait le calcul à proprement parler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double real32 = Math.Pow(-1.0d, iSigne) * iMantisse * Math.Pow(2, iExposant - 127);
    On peut remarquer que j'utilise un "double précision" pour contenir un "simple précision", par souci de convenance.

    EDIT : et ben jme serais bien amusé pour pas grand chose (cf. bitconverter)
    Plus je connais de langages, plus j'aime le C.

  4. #4
    Membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Mars 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2005
    Messages : 80
    Points : 50
    Points
    50
    Par défaut
    Merci pour vos réponses, ça fonctionne !!

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

Discussions similaires

  1. Convertir une chaine binaire en type long
    Par MedyAndFriends dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2011, 19h39
  2. Convertir une chaine binaire en INT
    Par Wiink dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/08/2011, 12h59
  3. Convertir un fichier en une chaine binaire base 64
    Par ddams dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 02/09/2010, 18h01
  4. Convertir une chaine en binaire
    Par marmarbenh dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 11/12/2007, 17h43
  5. convertir un reel en une chaine binaire(codage)
    Par jiji83 dans le forum Langage
    Réponses: 3
    Dernier message: 21/02/2007, 18h19

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