C'est typiquement ce qui arrive avec des arrondis qui traine dans les calculs intermédiaires. Si le logiciels ne faisaient jamais d'arrondis (sauf à l'affichage), il n'y aura pas de problème.
Ce sont les ingrédients idéaux pour voir apparaître des erreurs d'arrondi en virgule flottante.
Les calcul en DECIMAL posent exactement les mêmes problèmes. La solution du secteurs bancaires semble d'avoir redéfinit ses propres opérateurs qui se traduise avec l'arrondis bancaire, si je comprends bien les autres commentaires. Il est tout à fait possible de suivre les mêmes règles avec du code utilisant des flottants.
Il faut que je lise ton 1) plus complètement, mais il me semble écrit par un mathématicien qui parle du cas général et non du cas habituel. Dans un système habituel, les entrée ont aussi une part d'imprécision (en gros, toute entrée de capteurs) et donc, il n'y a jamais aucun algo utilisé qui "divergent" ou qui est chaotique.
En général, l'erreur est de 1/2 lsb par opération max, mais le "round to even" fait qu'en moyenne c'est beaucoup moins. De plus, souvent les fpu ont plus de précision que les 64 bits de base (80 bits pour la fpu x87, opération a*b+c en une seul passe). Il prend pour exemple la soustraction qui est le pire cas, car si a et b sont du même ordre de grandeur, il ne reste plus que l'erreur, ce qui est "physiquement" normal.
c'est vraiment 1,2 (qui n'est même pas représentable exactement en flottant).
Oui mais on s'en fout en fait, car tu peux faire tout les calculs que tu veux du moment que tu restes dans les 1016 d'amplitude. C'est une histoire d'arrondis ensuite.
mais ça ne simplifie pas vraiment la question par rapport à faire tous les calculs exacts en comptant des nombres entiers de centimes (ce qui revient à compter les euros en virgule fixe).
C'est plus compliqué que ça. Sinon, ton résultat final varie en fonction du nombre d'intermédiaire de calcul que tu utilises.
Ce genre de "dérive" à long terme, se gère en automatisme par un intégrateur. Je ne sais pas si cela se fait dans le secteur bancaire, mais avec la sauvegarde de l'erreur dans un coin, on peut la refacturer la fois suivante.
Je comprends mieux. Le problème n'est pas du tout DECIMAL vs double. C'est uniquement que les transferts se font en centime et rien d'autre, et qu'il faut gérer correctement les arrondis.
quel différence avec un double correctement utilisé ? si on suit ta méthode, un double est constitué de 2 INTEGER, l'un de 54 bits et l'autre de 16. Et leur gestion est directement pris en charge par les fpu. Et si tu prends 10x, cela revient à utiliser le type DECIMAL mais sans pouvoir changer la précision.
Pourquoi s’embêter avec un truc aussi complexe ? Quel erreur tu évites ainsi ?
Sinon certains SGBD (dont PostgreSQL) ont un type pour le monétaire, mais j'ai jamais testé.
MONEY pour postresql, c'est DECIMAL(10,2), autant prendre DECIMAL tout court qui est plus précis.
De mémoire, c'était les retours d'une expérience dans un pays du nord, genre Pays-Bas ou Danemark. Je n'ai plus la source en tête.
Ne pas oublier que ce qui est couteux est uniquement le traitement des eaux sales, c'est pour cela qu'il y a des compteurs agricoles car l'eau va dans le sol. C'est pour ça aussi qu'il est interdit d'utiliser de l'eau de pluie pour les toilettes, car le retraitement n'est pas payé.
"balancer de l'eau potable, traitée, dans les toilettes sont simplement stupide…"
Non en fait, c'est très réfléchi. Certaines personnes utilisaient de l'eau de pluie ou de l'eau "peu sale" comme celle du lavabo ou de la douche. Résultat : beaucoup d'infections bactériennes, les fines projection d'eau lors du tirage de la chasse d'eau suffisait pour contaminer l'usager.
En gros, tu me dis que la graphique audessus est un peu bidon, car il ne s'agit que de moyenne grossière et que localement, ce n'est pas le cas.
Si je comprends bien, l'humidité de l'air est composé de molécules qui se baladent, tout comme le ferait de l'eau sous forme de vapeur, même si la température ne colle pas. Mais alors la 1er phrase de wikipedia est fausse, car il n'y a pas vraiment de différence physique entre de la vapeur d'eau et de l'humidité de l'air.
Première ligne de wikipedia : "La vapeur d'eau est l'état gazeux de l'eau. C'est un gaz inodore et incolore. Le langage familier et quotidien tend à identifier la vapeur d'eau à un brouillard ou à une fumée, ce qui est faux."
"A 100°C l'eau ne peut plus être liquide, mais en dessous, elle peut très bien être gazeuse."
Bien sûr mais à très très basse pression, certainement pas à l'air libre.
Les vents fort font aussi un phénomène d'aspiration qui soulève les toits. Parfois un truc léger, pas chère à changer est plus intéressant qu'un truc lourd, qui fait écrouler la moitié des murs en tombant.
La vapeur d'eau est à 100°C à pression normal, j'en déduis qu'il s'agit simplement d'eau chaude. J'avoue que l'évaporation d'eau m'a toujours "questionné", car l'eau n'est pas un gaz à cette température.
[^] # Re: Le point clef est le calcul scientifique, pas la finance
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.
C'est typiquement ce qui arrive avec des arrondis qui traine dans les calculs intermédiaires. Si le logiciels ne faisaient jamais d'arrondis (sauf à l'affichage), il n'y aura pas de problème.
Les calcul en DECIMAL posent exactement les mêmes problèmes. La solution du secteurs bancaires semble d'avoir redéfinit ses propres opérateurs qui se traduise avec l'arrondis bancaire, si je comprends bien les autres commentaires. Il est tout à fait possible de suivre les mêmes règles avec du code utilisant des flottants.
"La première sécurité est la liberté"
[^] # Re: nan, c'est pas un problème d'arrondi qui te guette
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 4.
Facile si tu n'as que des additions. Si tu dois faire des divisions, cela commence à devenir sportif en entier.
"La première sécurité est la liberté"
[^] # Re: nan, c'est pas un problème d'arrondi qui te guette
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 3.
float est sur 32 bits, la mantisse est sur 24 bits soit 7 chiffres significatifs. Le résulat est tout à fait logique.
"La première sécurité est la liberté"
[^] # Re: Propagation d'erreurs, éléphants et souris
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 3.
Il faut que je lise ton 1) plus complètement, mais il me semble écrit par un mathématicien qui parle du cas général et non du cas habituel. Dans un système habituel, les entrée ont aussi une part d'imprécision (en gros, toute entrée de capteurs) et donc, il n'y a jamais aucun algo utilisé qui "divergent" ou qui est chaotique.
En général, l'erreur est de 1/2 lsb par opération max, mais le "round to even" fait qu'en moyenne c'est beaucoup moins. De plus, souvent les fpu ont plus de précision que les 64 bits de base (80 bits pour la fpu x87, opération a*b+c en une seul passe). Il prend pour exemple la soustraction qui est le pire cas, car si a et b sont du même ordre de grandeur, il ne reste plus que l'erreur, ce qui est "physiquement" normal.
"La première sécurité est la liberté"
[^] # Re: Cumul des arrondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 3.
Oui mais on s'en fout en fait, car tu peux faire tout les calculs que tu veux du moment que tu restes dans les 1016 d'amplitude. C'est une histoire d'arrondis ensuite.
C'est plus compliqué que ça. Sinon, ton résultat final varie en fonction du nombre d'intermédiaire de calcul que tu utilises.
"La première sécurité est la liberté"
[^] # Re: Cumul des arrondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.
C'est cette phrase qui m'a fait penser à ça :
"La première sécurité est la liberté"
[^] # Re: Cumul des arrondis
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 3.
Ce genre de "dérive" à long terme, se gère en automatisme par un intégrateur. Je ne sais pas si cela se fait dans le secteur bancaire, mais avec la sauvegarde de l'erreur dans un coin, on peut la refacturer la fois suivante.
"La première sécurité est la liberté"
[^] # Re: "10.222" n'existe pas
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 3.
Je comprends mieux. Le problème n'est pas du tout DECIMAL vs double. C'est uniquement que les transferts se font en centime et rien d'autre, et qu'il faut gérer correctement les arrondis.
"La première sécurité est la liberté"
[^] # Re: Monnaie = danger
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 5.
quel différence avec un double correctement utilisé ? si on suit ta méthode, un double est constitué de 2 INTEGER, l'un de 54 bits et l'autre de 16. Et leur gestion est directement pris en charge par les fpu. Et si tu prends 10x, cela revient à utiliser le type DECIMAL mais sans pouvoir changer la précision.
Pourquoi s’embêter avec un truc aussi complexe ? Quel erreur tu évites ainsi ?
MONEY pour postresql, c'est DECIMAL(10,2), autant prendre DECIMAL tout court qui est plus précis.
"La première sécurité est la liberté"
[^] # Re: Un retour d'expérience
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.
Tout cela c'est valide pour un prix de transfert final, mais pour tous calcul intermédiaire, on ne peut se contenter de 2 chiffres après la virgule.
"La première sécurité est la liberté"
[^] # Re: Un retour d'expérience
Posté par Nicolas Boulay (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.
c'est un "round to nearest".
"La première sécurité est la liberté"
[^] # Re: corrélation réchauffement climatique
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 3. Dernière modification le 11 septembre 2017 à 14:37.
De mémoire, c'était les retours d'une expérience dans un pays du nord, genre Pays-Bas ou Danemark. Je n'ai plus la source en tête.
Ne pas oublier que ce qui est couteux est uniquement le traitement des eaux sales, c'est pour cela qu'il y a des compteurs agricoles car l'eau va dans le sol. C'est pour ça aussi qu'il est interdit d'utiliser de l'eau de pluie pour les toilettes, car le retraitement n'est pas payé.
"La première sécurité est la liberté"
[^] # Re: "sur quels critères ?"
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Recrutons. D'accord, mais sur quels critères ?. Évalué à 3.
C'est sur que si Zenitram est aussi abrasif dans la vie que sur linuxfr, cela doit être sportif de bosser pour lui :)
"La première sécurité est la liberté"
[^] # Re: corrélation réchauffement climatique
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 4.
Non en fait, c'est très réfléchi. Certaines personnes utilisaient de l'eau de pluie ou de l'eau "peu sale" comme celle du lavabo ou de la douche. Résultat : beaucoup d'infections bactériennes, les fines projection d'eau lors du tirage de la chasse d'eau suffisait pour contaminer l'usager.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 4.
Est-ce que ton dernier phénomène à avoir avec les geyser ou pas du tout ?
"La première sécurité est la liberté"
[^] # Re: préparation
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 3.
Il pourrait au moins faire la préfecture, l’hôpital, les centrales électriques et le traitement de l'eau en souterrain.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 0.
Avec du sel ?
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à -10.
Ce n'est pas de la vapeur d'eau au sens classique. La vapeur à la pression ambiante, c'est 100 °C. Elle ne peut pas exister autrement.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à -2. Dernière modification le 07 septembre 2017 à 18:18.
En gros, tu me dis que la graphique audessus est un peu bidon, car il ne s'agit que de moyenne grossière et que localement, ce n'est pas le cas.
Si je comprends bien, l'humidité de l'air est composé de molécules qui se baladent, tout comme le ferait de l'eau sous forme de vapeur, même si la température ne colle pas. Mais alors la 1er phrase de wikipedia est fausse, car il n'y a pas vraiment de différence physique entre de la vapeur d'eau et de l'humidité de l'air.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 3.
A 1 Pa !! C'est une très basse pression.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à -5.
Première ligne de wikipedia : "La vapeur d'eau est l'état gazeux de l'eau. C'est un gaz inodore et incolore. Le langage familier et quotidien tend à identifier la vapeur d'eau à un brouillard ou à une fumée, ce qui est faux."
Bien sûr mais à très très basse pression, certainement pas à l'air libre.
"La première sécurité est la liberté"
[^] # Re: Réchauffement ou Dérèglement ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 0.
En fait, la température n'a jamais changé autant que ce qui est prévus :
https://xkcd.com/1732/
"La première sécurité est la liberté"
[^] # Re: préparation
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 7.
Les vents fort font aussi un phénomène d'aspiration qui soulève les toits. Parfois un truc léger, pas chère à changer est plus intéressant qu'un truc lourd, qui fait écrouler la moitié des murs en tombant.
"La première sécurité est la liberté"
[^] # Re: Attention, n'allons pas trop vite…
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à 4.
Pour les évènements catastrophiques, ils peuvent souvent remonter longtemps dans les livres d'histoires.
"La première sécurité est la liberté"
[^] # Re: Exceptionnel ou systémique ?
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Le jour d’après, c’est aujourd’hui. Évalué à -4.
La vapeur d'eau est à 100°C à pression normal, j'en déduis qu'il s'agit simplement d'eau chaude. J'avoue que l'évaporation d'eau m'a toujours "questionné", car l'eau n'est pas un gaz à cette température.
"La première sécurité est la liberté"