Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1617 connectés 

  FORUM HardWare.fr
  Programmation
  C

  4875+0.2332 = 4875.233398 problème précision float?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

4875+0.2332 = 4875.233398 problème précision float?

n°1756977
jijiz
Posté le 08-07-2008 à 16:57:08  profilanswer
 

Bonjour,
 
J'aimerais bien comprendre pourquoi :
            float f_z;
            f_z = 4875;
            f_z = f_z + 0.2332;
            printf("%f",f_z);
 
 
>> 4875.233398
 
Est-ce que la vrai valeur est retenue dans f_z et ceci viendrait du printf?
Y-a-t-il une solution pour que le calcul soit fait correctement?
 
 
Merci


Message édité par jijiz le 09-07-2008 à 16:00:41
mood
Publicité
Posté le 08-07-2008 à 16:57:08  profilanswer
 

n°1756978
Taz
bisounours-codeur
Posté le 08-07-2008 à 16:59:36  profilanswer
 

C'est sa vraie valeur. C'est la représentation la plus exacte que float peut te donner.
 
http://docs.sun.com/source/806-3568/ncg_goldberg.html

n°1757073
Joel F
Real men use unique_ptr
Posté le 08-07-2008 à 20:16:36  profilanswer
 

y a plus de cours d'architecture des ordinateurs ou on apprend ça ou bien ?

n°1757082
Elmoricq
Modérateur
Posté le 08-07-2008 à 20:45:16  profilanswer
 

J'ai jamais appris ça en cours, j'ai dû y faire face en entreprise sur un cas réel qui m'a posé quelques problèmes, étant à ce moment-là débutant et totalement ignorant de ce fait. [:god]

n°1757106
xilebo
noone
Posté le 08-07-2008 à 21:37:30  profilanswer
 

Elmoricq a écrit :

J'ai jamais appris ça en cours, j'ai dû y faire face en entreprise sur un cas réel qui m'a posé quelques problèmes, étant à ce moment-là débutant et totalement ignorant de ce fait. [:god]


 
Exactement pareil pour moi. D'ailleurs, on n'apprend pas grand chose à l'école :(
 
Quelques infos supplémentaires : http://fr.wikipedia.org/wiki/Float

n°1757127
Taz
bisounours-codeur
Posté le 08-07-2008 à 22:18:31  profilanswer
 

Ouais enfin bon, j'ai quand même envie de dire que la notion de bijection c'est niveau T S et qu'après en faisant marcher la boîte à cerveau il est facile de se rendre compte qu'on ne peut pas caser R dans 32bits.

n°1757164
el muchach​o
Comfortably Numb
Posté le 09-07-2008 à 02:47:24  profilanswer
 

Ca serait sympa de corriger le titre qui rime à rien au passage [:dawao]


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1757195
jijiz
Posté le 09-07-2008 à 09:17:43  profilanswer
 

el muchacho a écrit :

Ca serait sympa de corriger le titre qui rime à rien au passage [:dawao]


une proposition?

n°1757202
xilebo
noone
Posté le 09-07-2008 à 09:28:47  profilanswer
 

Taz a écrit :

Ouais enfin bon, j'ai quand même envie de dire que la notion de bijection c'est niveau T S et qu'après en faisant marcher la boîte à cerveau il est facile de se rendre compte qu'on ne peut pas caser R dans 32bits.


 
Rien à voir avec ça, je pensais juste que toutes les décimales étaient présentes dans le codage float jusqu'aux limites, ce qui n'est pas le cas. Je ne m'étais pas posé la question de savoir si l'ensemble des décimales dépassait 2^32 éléments, jusqu'au jour où j'en ai eu réellement besoin. (dans le cadre de mon travail, je n'ai pas eu à utiliser les float en 6 ans).

n°1757213
el muchach​o
Comfortably Numb
Posté le 09-07-2008 à 10:18:38  profilanswer
 

jijiz a écrit :


une proposition?


Tu te fous de ma gueule ?

Message cité 1 fois
Message édité par el muchacho le 09-07-2008 à 10:19:35

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le 09-07-2008 à 10:18:38  profilanswer
 

n°1757215
Taz
bisounours-codeur
Posté le 09-07-2008 à 10:27:26  profilanswer
 

xilebo a écrit :

 

Rien à voir avec ça, je pensais juste que toutes les décimales étaient présentes dans le codage float jusqu'aux limites, ce qui n'est pas le cas. Je ne m'étais pas posé la question de savoir si l'ensemble des décimales dépassait 2^32 éléments, jusqu'au jour où j'en ai eu réellement besoin. (dans le cadre de mon travail, je n'ai pas eu à utiliser les float en 6 ans).


Bah justement, il faut lire le papier: les floating-point, c'est précisément pas une représentation décimale.


Message édité par Taz le 09-07-2008 à 10:27:41
n°1757395
jijiz
Posté le 09-07-2008 à 15:42:34  profilanswer
 

el muchacho a écrit :


Tu te fous de ma gueule ?


non
 
restons détendu du péni.


Message édité par jijiz le 09-07-2008 à 15:42:55
n°1757404
el muchach​o
Comfortably Numb
Posté le 09-07-2008 à 15:58:24  profilanswer
 

Un indice: 4875+0.2332 = 233398 ...
ça ne t'interpelle pas, ça ??? :sarcastic:


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1757410
jijiz
Posté le 09-07-2008 à 16:02:32  profilanswer
 

el muchacho a écrit :

Un indice: 4875+0.2332 = 233398 ...
ça ne t'interpelle pas, ça ??? :sarcastic:


Ok pour la correction, mais je ne trouve pas le titre insensé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  4875+0.2332 = 4875.233398 problème précision float?

 

Sujets relatifs
probleme de passage de parametre avec accent.probleme de conenxion a phpmyadmin
probleme menu deroulant IE/firefoxproblème flash/actionscript
Probleme VBAProblème de date
requete à problème[SQL] problème requête
Problème avec des chaînes en hexaMYSQLADMIN : problème de connexion
Plus de sujets relatifs à : 4875+0.2332 = 4875.233398 problème précision float?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR