Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Warum ist 1.1 nicht gleich 1.1

  Alt 28. Sep 2006, 22:21
Zitat von Phoenix:
Eine Zuweisung von 1.1 kann u.u. einen Wert von 1.100000000000000000000000000000001 oder ähnliches im Double erzeugen (je nach aktueller Genauigkeit). Aber 1.100000000000000000000000000000001 ist nunmal nicht 1.1. Ergo false, da hat Delphi vollkommen recht
Hm. Ich werfe Delphi 1.1 = 1.1 vor die Füße und es macht mir daraus 1.1 + 10^-15 = 1.1 + 10^-15. Wird die Aussage dadurch unwahr ?
Imo ist die Frage durchaus berechtigt, wenn man es noch nicht weiß und mit Asm nichts anfangen kann, und die genaue Antwort fehlt bisher: Das Float-Literal wird als Extended gespeichert, womit dessen Genauigkeit größer als die der Double-Variable ist. Man müsste also entweder beide Argumente zuerst in Double-Variablen speichern (bei anderen Sprachen könnte man stattdessen auch einen Postfix benutzen, der das Literal als Double-Wert identifiziert) oder eben gleich SameValue benutzen.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat