Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: C# kann nicht rechnen oder bin ich zu blöd?¿?

  Alt 26. Mai 2008, 16:14
alzaimar, du wiedersprichst dir hier leider selbst. Ein Typ, der bis zu einer gewissen Stelle genau ist, ist insgesamt gesehen immer noch ungenau. Oder sagen wir besser: Ungenau genug, um damit wenn man es nicht im Hinterkopf hat, ganz kräftig auf die Nase zu fallen. Dass Fälle, in denen sich die Abweichungen relevant äussern selten sind, ist nicht genug, um die gesamte Aussage zu falsifizieren. Das macht den Datentyp aber nicht schlecht oder unbrauchbar - hier will keiner die Float-Apokalypse hervorsagen.

Man kann sicherlich getrost alle Kundenrechnungen der letzten 10 Jahre mit Doubles aufsummieren*, und die 2. Nachkommastelle ist akkurat, aber gerade wenn wir in den Bereich physikalischer Simulationen kommen, oder analytischer Mathematik, wirst du gelegentlich nicht drum herum kommen manchen Algorithmus bewusst darauf hin zu entwickeln, dass sich diese Fehler in Grenzen halten.
* Obwohl, aus gutem Grund, hier idR Integer genommen werden

Nochmal: Die "Otto-Normal-Anwendung" merkt da vermutlich nie was von, besonders wenn nur simple Operationen wie + und - auftauchen, und sich die betrachteten Werte in einem genügend kleinen Intervall um 0 bewegen. Auch komplexere Dinge sind noch locker drin, aber ab und an, abhängig vom Algo und den Daten, wirds halt eng.


Jürgen will hier sicherlich keine "Benutzt nie Floats!"-Kampagne starten, aber so manche Frage (besonders eben die Prüfung auf Gleichheit) würde evtl. nicht hier im Forum landen, wenn man sich dieses Umstandes nur bewusst ist.


Edith findet die Idee mit der Warnung auch spitzenklasse
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat