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

 MySQL Discussion :

Incompréhension sur les types flottants


Sujet :

MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut Incompréhension sur les types flottants
    Bonjour à tous,

    j'ai lu la chose suivante :

    " * FLOAT (précision simple de 0 à 24 et précision double de 25 à 53) [UNSIGNED]
    Occupe 4 octets si la précision est inférieure à 24 ou 8 au delà.
    Stocke un nombre de type flottant.

    * FLOAT[(M,D)] [UNSIGNED]
    Occupe 4 octets. M est le nombre de chiffres et D est le nombre de décimales.
    Ce type de données permet de stocker des nombres flottants à précision simple. Va de -1.175494351E-38 à 3.402823466E+38. Si UNSIGNED est activé, les nombres négatifs sont retirés mais ne permettent pas d'avoir des nombres positifs plus grands."


    Voici mes questions :

    - Qu'est-ce qu'une précision simple et double ?
    - à quoi corresponds le E-38 ou E+38 ?

    Merci de votre aide
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    Tout est lié à la représentation des valeurs flottantes de base 10 en binaire.
    On utilise un format signe, mantisse, exposant.
    Or, certaines valeurs décimales en base dix ne sont pas représentables en binaire.
    Pour pallier ce manque on augmente la taille de la mantisse et/ou de l'exposant.
    Mais même comme cela on arrive pas à tout représenter avec exactitude.
    Quand on exclut les valeurs négatives, les bits utilisés pour le signe sont récupérés pour augmenter la taille de la mantisse (ou de l'exposant).
    E[+-]38 correspond, dans la représentation dite scientifique des nombres flottants, à l'exposant signé.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Autrement dit...
    Va de -1.175494351E-38 à 3.402823466E+38.
    Pourrait être écrit :
    Va de -1.175494351 x 10 puissance -38 à 3.402823466 x 10 puissance +38.
    E est pour exposant qui est l'autre appellation des puissances.

    Les nombres à simple précision sont moins précis ou moins grands que les nombre à double précision.

    Ca peut paraître idiot de demander une précision de 38 chiffres mais pour des calculs sur un grand nombre de données, les arrondis engendrés par la limite de précision peuvent ne pas être négligeables.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Pour être plus exhaustif, et, plus modestement, je te conseille de lire cet article de Wikipédia :http://fr.wikipedia.org/wiki/Nombre_flottant
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. Incompréhension sur les types
    Par Trap D dans le forum F#
    Réponses: 10
    Dernier message: 03/12/2010, 20h35
  2. Questions sur les types énumérés
    Par Premium dans le forum Langage
    Réponses: 5
    Dernier message: 12/11/2006, 18h00
  3. [SQL 2000] Question sur les types de données
    Par Angath dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/11/2006, 14h05
  4. [NTFS]explication sur les type de droits
    Par arnolem dans le forum Sécurité
    Réponses: 6
    Dernier message: 19/04/2006, 12h52
  5. Renseignement sur les "types" d'asm
    Par Coussati dans le forum Assembleur
    Réponses: 4
    Dernier message: 10/01/2006, 14h28

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