Remove ads
Begriff aus der Mathematik und Informatik Aus Wikipedia, der freien Enzyklopädie
Eine vorzeichenbehaftete Null ist in der Mathematik und Informatik die Zahl Null mit einem assoziierten Vorzeichen. In der Arithmetik ist die Zahl Null weder positiv noch negativ und hat demnach kein Vorzeichen. Bei Maschinenzahlen werden jedoch oft +0 (positive Null) und −0 (negative Null) als zwei verschiedene Zahlen angesehen. Beim Datentyp Integer ist die Null in der Betrags-Vorzeichendarstellung und beim Einerkomplement vorzeichenbehaftet, bei Gleitkommazahlen ist es auch meistens der Fall. Die Notation ist auch in manchen Anwendungen gebräuchlich, wenn eine negative Zahl auf Null gerundet wurde. Auch in der Infinitesimalrechnung ist das Vorzeichen der 0 von Bedeutung.
Das oft genutzte Zweierkomplement zur Darstellung von Integern erlaubt keine vorzeichenbehaftete Null, in anderen Darstellungen ist dies jedoch möglich. In der 1+7-Bit Betrags-Vorzeichendarstellung wird die negative Null durch den Bitstring 1000 0000 repräsentiert. Im 8-Bit Einerkomplement wird die negative Null durch 1111 1111 dargestellt. In allen drei Darstellungen steht 0000 0000 für eine positive Null.
In der Norm IEEE 754 für binäre Gleitkommazahlen sind die Mantisse und der Exponent null für beide Fälle der vorzeichenbehafteten Null. Bei der negativen Null ist dabei das Vorzeichenbit auf 1 gesetzt, bei der positiven Null auf 0. Eine negative Null kann durch arithmetischen Unterlauf bei einer negativen Zahl, durch Rechenoperationen wie (−1.0)*0.0
oder durch Verwenden von −0.0
auftreten.
In der Norm IEEE 754-2008 für binäre Gleitkommazahlendarstellung wird eine negative Null durch einen beliebigen validen Exponenten, einer Mantisse von Null und ein Vorzeichenbit vom Wert Eins repräsentiert.
Die Norm IEEE 754 spezifiziert das Verhalten der positiven und negativen Null für zahlreiche Operatoren, das Ergebnis hängt aber auch von der verwendeten Rundungsmethode ab. Es wird angenommen, dass die Verwendung der vorzeichenbehafteten Null in einigen kritischen Situationen geholfen hat, eine höhere numerische Genauigkeit zu erzielen, besonders bei elementaren komplexen Funktionen.[1][2] Andererseits sind sich viele Programmierer des Konzepts einer negativen Null nicht bewusst, was zu unerwarteten Fehlern führen kann. Während die beiden Darstellungen der Null identisch bei numerischen Vergleichen sind, bewirken sie unterschiedliche Ergebnisse bei einigen Berechnungen und haben unterschiedliche Bitmuster.
Multiplikation und Division folgen den üblichen Regeln der Arithmetik:
Addition und Subtraktion werden jedoch speziell betrachtet, je nachdem ob sich Werte aufheben:
Aufgrund der negativen Null können die Gleichungen und für Gleitkommavariablen , , und nicht zu optimiert werden. Als Spezialfall ist definiert.[3]
Nach der Norm IEEE 754 sollten numerische Vergleichsoperatoren wie ==
in C oder Java die positive und negative Null als gleich ansehen. In diesen Fällen kann die positive von der negativen Null auf folgende Arten unterschieden werden:
copysign()
auf eine Zahl ungleich Null.Einige Programmiersprachen haben alternative Vergleichsoperatoren, sodass man die beiden vorzeichenbehafteten Nullen voneinander unterscheiden kann. Dies ist beispielsweise in Java bei der equals
-Methode der Double
-Klasse der Fall.[4]
Im wissenschaftlichen Umfeld wird die Notation verwendet für eine negative Zahl, die zu Null gerundet wurde. In einigen Fällen ist das negative Vorzeichen entscheidend, bei Temperaturangaben in Celsius bedeutet eine negative Null beispielsweise eine Temperatur unterhalb des Gefrierpunkts von Wasser. Diese Art der Temperaturangabe wird beispielsweise auch in der Luftfahrt bei Wetterberichten eingesetzt.
In der statistischen Mechanik verwendet man manchmal negative Temperaturen als rechnerisches Hilfsmittel, um Besetzungsinversionen zu beschreiben. In diesem Kontext ist die Temperatur −0 größer als jede andere Temperatur und das Gegenteil zu +0. Die Temperaturskala von kalt nach heiß ist dann +0 K, …, +300 K, …, +∞ K, −∞ K, …, −300 K, …, −0 K.[5]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.