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

C Discussion :

Simple et double Précision en C


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Simple et double Précision en C
    Pourriez-vous me donner les programmes en C permettant de déterminer la précision effective de la représentation des nombres en simple et double précision, et si possible une explication claire entre les différences suivantes (hormis le fait que c'est une donnée de type virgule flottante) ? : %e, %f, %g ?

    En vous remerciant par avance.

  2. #2
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par r-o-m-z
    Pourriez-vous me donner les programmes en C permettant de déterminer la précision effective de la représentation des nombres en simple et double précision,
    Je ne comprends pas la question.

    et si possible une explication claire entre les différences suivantes (hormis le fait que c'est une donnée de type virgule flottante) ? : %e, %f, %g ?
    Ça contrôle le format d'affichage par ?printf des doubles.

    %e donne un format -1.234E+34
    %f donne un format -12.344
    %g choisi entre %e et %f suivant la valeur du nombre. En prime les 0 finaux sont supprimés.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Re: Simple & double précision en C
    OK, merci pour l'info, pour ce qui est des programmes que je vous demande, c'est en fait un programme de ce style que je cherche (qui fonctionnerait ! et qui permettrait d'obtenir la précision à la fois en simple et double précision) :

    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
     
    #include <stdio.h>
    #include <math.h>
    #include <conio.h>
     
    main ()
    {
     
    	float rien=0.000000000000000000000000000000000001f;
     
    	while (1.0f+rien==1.0f)
     
    	rien *=3.0f;
    	printf ("\nrien = %20f\n", rien);
    	puts ("Pour sortir tapper une touche ");
    	getch (); /* attente d'une saisie de clavier*/
     
    }

  4. #4
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <float.h>
     
    FLT_EPSILON
    DBL_EPSILON
    LDBL_EPSILON
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par r-o-m-z
    OK, merci pour l'info, pour ce qui est des programmes que je vous demande, c'est en fait un programme de ce style que je cherche (qui fonctionnerait ! et qui permettrait d'obtenir la précision à la fois en simple et double précision) :

    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
     
    #include <stdio.h>
    #include <math.h>
    #include <conio.h>
     
    main ()
    {
     
    	float rien=0.000000000000000000000000000000000001f;
     
    	while (1.0f+rien==1.0f)
     
    	rien *=3.0f;
    	printf ("\nrien = %20f\n", rien);
    	puts ("Pour sortir tapper une touche ");
    	getch (); /* attente d'une saisie de clavier*/
     
    }
    tu peut peut etre trouver la presision de float en utilisant des doubles avec ta methode-là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	double rien=(double)0.000000000000000000000000000000000001;
    
    	while ((float)(1.0+rien)==1.0f)
    	
    	rien *=3.0f; //la je sais pas pourquoi *3 et pas *2
    	printf ("\nrien = %20f\n", rien);
    	puts ("Pour sortir tapper une touche ");
    	getch (); /* attente d'une saisie de clavier*/
    et utiliser "long double" pour trouver la précision de "double".
    mais pour celle de "long double" il faut trouver un autre moyen.

Discussions similaires

  1. nombre réels -simple et double précision
    Par new_wave dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2009, 23h34
  2. problème apostrophes simple et double
    Par dor_boucle dans le forum Langage
    Réponses: 9
    Dernier message: 20/02/2006, 13h48
  3. Réponses: 3
    Dernier message: 12/11/2005, 07h32
  4. [Cookies] Guillemets simples et doubles?
    Par Yoyo_galère dans le forum Langage
    Réponses: 7
    Dernier message: 12/02/2005, 19h31
  5. Réponses: 4
    Dernier message: 05/07/2004, 13h17

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