2010-01-27 5 views

Antwort

13

Da IEEE-754 Fließkommazahlen eine Unendlichkeitsdarstellung haben, sind Ganzzahlen dies nicht.

Mit anderen Worten, jedes Bitmuster in int stellt eine normale ganze Zahl dar; Gleitkomma-Werte sind etwas komplizierter mit +/- unendlich „keine Zahl“ (NaN) Werte normalisierten Werte, subnormale Werte usw.

+0

Wenn das "floating-point" -Tag auf jede Frage über Fließkommazahlen angewendet wurde, hätten Sie ein weiteres goldenes Abzeichen! –

+0

Danke, mein Herr. Es hat sehr geholfen. – Mohit

0

Auch können Sie die JLS überprüfen, die sagt:

15.17.2 Division Operator
Wenn andererseits der Wert des Divisors in einer Ganzzahl-Division 0 ist, wird eine ArithmeticException ausgelöst.

Das Ergebnis einer Division Gleitkommazahl wird durch die Spezifikation des IEEE Arithmetik bestimmt: Wenn das Ergebnis nicht NaN ist, das Vorzeichen des Ergebnisses ist positiv, wenn beide Operanden das gleiche Vorzeichen, negativ, wenn die Operanden habe unterschiedliche Zeichen.
Die Division eines von Null verschiedenen endlichen Wertes durch eine Null führt zu einer vorzeichenbehafteten Unendlichkeit. Das Vorzeichen ergibt sich aus der oben genannten Regel.

+0

Danke, mein Herr. Es hat sehr geholfen. – Mohit

3

From here

Der IEEE-Gleitkomma-Standard gibt an, um fast alle modernen Prozessoren unterstützt, dass jede Gleitkomma-Rechenoperation, die von Null einschließlich der Division, ein gut definiertes Ergebnis hat. Der Standard unterstützt vorzeichenbehaftete Null sowie Unendlichkeit und NaN (keine Zahl). Es gibt zwei Nullen, +0 (positive Null) und -0 (negative Null) und dies beseitigt jegliche Mehrdeutigkeit beim Dividieren. In der IEEE 754-Arithmetik ist a ÷ +0 eine positive Unendlichkeit, wenn a positiv ist, eine negative Unendlichkeit, wenn a negativ ist, und NaN, wenn a = ± 0 ist. Die Unendlichkeitszeichen ändern sich, wenn sie durch -0 geteilt werden.

Ganzzahlige Division durch Null wird normalerweise anders gehandhabt als Gleitkomma, da für das Ergebnis keine Integer-Darstellung vorhanden ist. Einige Prozessoren erzeugen eine Ausnahme, wenn versucht wird, eine ganze Zahl durch Null zu teilen, obwohl andere einfach fortfahren und ein falsches Ergebnis für die Division erzeugen. Das Ergebnis hängt davon ab, wie Division implementiert wird, und kann entweder Null oder manchmal die größte mögliche ganze Zahl sein.

+0

Danke, mein Herr. Es hat sehr geholfen. – Mohit

Verwandte Themen