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

Architecture Discussion :

Concernant la norme IEEE. Help.


Sujet :

Architecture

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Concernant la norme IEEE. Help.
    Bonjour Tout le monde,

    je suis entrain d'essayer de comprendre la norme IEEE pour la représentation des réels en binaire. j'ai vraiment beaucoup de mal à comprendre comment utiliser la formule de la représentation.

    par exemple comment procéder pour représenter le flottant -3,125 en représentation simple précision?

    merci pour votre aide.
    Zem

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonjour,

    le plus simple est bien-sur de faire cela via un programme :
    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
    #include <stdio.h>
    
    int main(int, char **)
    {
      union {
        unsigned u;
        float f;
      } v;
      
      v.f = -3.125;
      
      unsigned signe = v.u >> 31;
      unsigned exposant = (v.u >> 23) & 0xff;
      unsigned mantisse = v.u & 0x7fffff;
      
      printf("signe:%u, exposant : %u, mantisse : %u (0x%x)\n",
    	 signe, exposant, mantisse, mantisse);
    
      return 0;
    }
    qui affiche signe:1, exposant : 128, mantisse : 4718592 (0x480000)

    ensuite pour comprendre :

    -3.125 est négatif, le bit de signe est donc 1

    3.125 = 2 + 1 + 1/8, la normalisation veut que la mantisse représente un nombre entre 1 inclue et 2 exclu, ici il faut donc divisé le nombre par 2 => augmenter l'exposant de 1 ce qui donne bien 127+1= 128
    le nombre est devenu 1 + 1/2 + 1/16, on oublie le 1 et il reste donc 1/2 + 1/16 c'est à dire 1/2 + 0/4 + 0/8 + 0/16, la mantisse est donc 10010....0 sur 23 bits c'est à dire que l'on retrouve bien 0x480000
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

Discussions similaires

  1. Normes 830 et 1233 de IEEE en français
    Par Agamemnon2000 dans le forum Qualité
    Réponses: 1
    Dernier message: 19/02/2015, 15h19
  2. Format binaire et Norme IEEE
    Par luffy64 dans le forum Langage
    Réponses: 5
    Dernier message: 02/02/2010, 10h17
  3. [RUP] Template RUP & Normes IEEE
    Par Yann21 dans le forum xUP
    Réponses: 9
    Dernier message: 27/08/2008, 18h29
  4. Encodage d'un nombre à la norme IEEE 754
    Par Letinono dans le forum Débuter
    Réponses: 11
    Dernier message: 31/05/2008, 15h42
  5. Renseignement concernant MulDiv
    Par bastien dans le forum C++Builder
    Réponses: 2
    Dernier message: 17/06/2002, 10h22

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