Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Double.Epsilon-Feld

Stellt den kleinsten positiven Double-Wert dar, der größer als 0 (null) ist. Dieses Feld ist konstant.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public const double Epsilon

Der Wert der Epsilon-Eigenschaft gibt den kleinsten positiven Double-Wert an, der in numerischen Vorgängen oder Vergleichen signifikant ist, wenn der Wert der Double-Instanz 0 (null) ist. Der folgende Code zeigt z. B., dass 0 (null) und Epsilon nicht als gleiche Werte betrachtet werden, wohingegen 0 (null) und die Hälfte des Werts von Epsilon als gleich betrachtet werden.


using System;

public class Example
{
   public static void Main()
   {
      double[] values = { 0, Double.Epsilon, Double.Epsilon * .5 };

      for (int ctr = 0; ctr <= values.Length - 2; ctr++)
      {
         for (int ctr2 = ctr + 1; ctr2 <= values.Length - 1; ctr2++)
         {
            Console.WriteLine("{0:r} = {1:r}: {2}", 
                              values[ctr], values[ctr2],  
                              values[ctr].Equals(values[ctr2]));
         }
         Console.WriteLine();
      }      
   }
}
// The example displays the following output:
//       0 = 4.94065645841247E-324: False
//       0 = 0: True
//       
//       4.94065645841247E-324 = 0: False


Die Epsilon-Eigenschaft ist jedoch kein allgemeines Maß für die Genauigkeit des Double-Typs. Sie gilt nur für Double-Instanzen mit dem Wert 0 (null).

HinweisHinweis

Der Wert der Epsilon-Eigenschaft ist nicht äquivalent zum Epsilon-Wert des Rechners, der die Obergrenze für relative Rundungsfehler bei der Gleitkommaarithmetik angibt.

Der Wert dieser Konstanten ist 4.94065645841247e-324.

Zwei anscheinend äquivalente Gleitkommazahlen werden möglicherweise bei einem Vergleich nicht als gleich erkannt, wenn sie sich in den hinteren gültigen Ziffern unterscheiden. Der C#-Ausdruck (double)1/3 == (double)0.33333 liefert beispielsweise keine Gleichheit, da die Division auf der linken Seite mit maximaler Genauigkeit ausgeführt wird, während sich die Genauigkeit der Konstanten auf der rechten Seite nur auf die angegebenen Ziffern bezieht. Wenn Sie einen benutzerdefinierten Algorithmus erstellen, der ermittelt, ob zwei Gleitkommazahlen als gleich gelten, müssen Sie einen Wert größer als die Epsilon-Konstante verwenden, um den zulässigen absoluten Unterschied festzulegen, bei dem die Werte als gleich betrachtet werden. (Normalerweise ist dieser Unterschied deutlich größer als Epsilon.)

Plattformspezifische Anmerkungen

Klicken Sie ARMsystemen ist der Wert der Epsilon Konstante zu klein erkannt werden, sodass er stimmt mit Nullen aus. Sie können einen alternativen Epsilonwert definieren, der 2.2250738585072014E-308 stattdessen entspricht.

.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.