Accueil > Forum > > > > probleme d'arrondi
probleme d'arrondi
mardi 1 mars 2005 à 12:59:39 |
probleme d'arrondi

Darkan
|
bonjour j'ai un probleme d'arrondi avec les float. Pourtant je n'ai fait aucune conversion, je ne fait qu'ajouter des floats entre eux. En fait, au lieu d'avoir 5, j'aurais 4.99999999...
merci d'avance ^^
|
|
mardi 1 mars 2005 à 13:10:46 |
Re : probleme d'arrondi

tibob51
|
Saluts a toi, Les "float" ne sont pas de très grand précision,si tu veux avoir une bonne précision utilise des "double" ils son beaucoup plus précis mais prenne plus de place en mémoire 64 bits contre 32. Voilà A++;
|
|
mardi 1 mars 2005 à 13:52:14 |
Re : probleme d'arrondi

jul39dole
|
mais il y aura toujours des problèmes d'arrondi avec les réels, car l'ordi utilise des puissances de 2, au lieu de puissances de 10, d'où le 4.9999. Pour l'ordi, des chiffres "ronds" ont une partie fractionnaire multiple de 2, par exemple 1.25 ou 5.625 par exemple etc... C'est pour cela que lorsque il n'est pas possible d'utiliser des entiers, lors d'une comparaison par exemple, il faut prévoir une marge d'erreur :
float x; if(x<5,001 && x>4.999) { //on considère = 5 ... }
|
|
mardi 1 mars 2005 à 14:39:03 |
Re : probleme d'arrondi

tibob51
|
bool fonction() { double d=12.25; d+=1.52; //Cette fonction retournera vrai if (d ==13.77) return true; else return false }
bool fonction() { float f =12.25; f+=1.52; //Mais pas celle-ci if (f == 13.77) return true; else return false }
|
|
mardi 1 mars 2005 à 14:42:34 |
Re : probleme d'arrondi

jul39dole
|
il est vrai que cela marche pour ces nombres là (peut de chiffres après la virgule), mais d'une manière générale ce n'est pas correct. Cordialement.
|
|
mardi 1 mars 2005 à 14:53:16 |
Re : probleme d'arrondi

tibob51
|
Ya plus précis que double????
|
|
mardi 1 mars 2005 à 17:00:25 |
Re : probleme d'arrondi

Darkan
|
c'est chiant, ya pas moyen de passer a travers ce
probleme? par ce que j'aimerais changer le "pas" de mon perso dans un
jeu par rapport au ftp, mais comme vous l'avez dis, ya que 0,125 et
tout ses multiples qui marchent.
je sais pas mais gerer ce probleme avec if(x<5,001 && x>4.999) { //on considère = 5 ... }
ca fait pas tres propre, surtout que dans de nombreuse sources, ils n'ont pas l'air d'avoir ce probleme, donc voila 
|
|
mardi 1 mars 2005 à 18:38:23 |
Re : probleme d'arrondi

jul39dole
|
plus de précision que double, je ne crois pas, a moins de passer par des classes spécialement crées. Par contre j'ai entendu parler de "long double", je ne sais pas si c équivalent a double... tu peux utiliser des macros d'arrondis sinon (pour limiter les décimales)
|
|
lundi 28 mars 2005 à 18:34:48 |
Re : probleme d'arrondi

Darkan
|
en fait, j'ai beau les utiliser, ca change rien... (j'utilise nearint ou un truc dans le genre)
|
|
vendredi 20 mai 2005 à 15:40:24 |
Re : probleme d'arrondi

islem1982
|
SIGMA j'ai presque le même problème avec ces floats "chiants" et je crois que j'ai une source qui pourrait peut être t'aider la réponse est un peu tardive mais si tu est encore planté ds ce probleme mieux vaut tard que jamais /* Compile options needed: none. Value of c is printed with a decimal point precision of 10 and 6 (printf rounded value by default) to show the difference */ #include <stdio.h> #define EPSILON 0.0001 // Define your own tolerance #define FLOAT_EQ(x,v) (((v - EPSILON) < x) && (x <( v + EPSILON))) void main() { float a,b,c a=1.345f; b=1.123f; c=a+b; //if (FLOAT_EQ(c, 2.468)) // Remove comment for correct result if (c == 2.468) //Comment this line for correct result printf("They are equal\n"); else printf("They are not equal!!The value of c is %13.10f,or %f",c,c); }
|
|
Cette discussion est classée dans : arrondi, probleme
Répondre à ce message
Sujets en rapport avec ce message
Probleme avec round [ par darkwhite ]
Salut a tous je suis en train de faire un code ultra simple qui arrondi un nombre : #include #include int main(){ double value; scanf("%f",&value);
probleme d'arrondi avec SQL Server 2005 [ par LaTatadu91 ]
Bonjour,Voila je viens de me rendre compte d'un petit soucis lors de mes différentes lectures sur des tables situées sous SQL Server 2005.par exemple
API windows (Probleme avec SendMessage(.... WM_SETTEXT.....) [ par rivaldinho ]
Salut, voici le code que j'utilise pour écrire dans la zone texte de notepadint main(){ HWND hWnd, hWnd2; // Handles de fenêtre hWnd = FindWindo
probleme d'organisation [ par ouatt121 ]
s'il vous plait j'ai un projet en C++le sujet est la gestion de reservation d'un hotel mon probleme est que je ne sais pas comment organiser les class
petit probleme de debuant pour fusionner plusieurs fichiers excel [ par magorr ]
bonjour,je suit tous nouveau ici et dans la programmationj'ai une petite question de débutant ;)voila je vais être le plus claire possible :j'ai plusi
besoin d'aide pour un probleme avec les liste chainees [ par boulhech27 ]
bonjou à tous. voici mon probleme. je n'arrive pas à trouver comment chercher le nombre d'occurence dans ma liste chainéevu que je copie des string d'
probleme en c++ GRAPHQUE [ par dadou28 ]
BONJOUR j'ais une problème pour le c++graphique c'est que j'admet une application qui demande une realisation des interfaces ,intrface principale fa
probleme avec les fichiers [ par cyas7 ]
Bjr,je programme en C et je vien de rencontrer un problème lors de l'ouverture d'un fichier avec la fonction fopen();le programme s'arrete en afficha
Probleme bete [ par Klemklem ]
Bonjour, J'ai un petit probleme enervant mais qui je pense peut se resoudre facilement.J'ai mon programme while (time{coutcin>>etat;if(etat ==0){ sou
Petit Probleme SDL... [ par nahoof ]
Voila, c'est le premier "vrai" programme (codé en C) que je realise et j'ai un petit problème avec la SDL : Je suis en train de creer un jeu de poke
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|