Was ist Überlauf und Unterlauf im Gleitkomma
Ich glaube, ich verstehe das Konzept von @ nicht wirklioverflow
undunderflow
. Ich stelle diese Frage, um dies zu klären. Ich muss es auf seiner grundlegendsten Ebene mit Bits verstehen. Arbeiten wir mit der vereinfachten Gleitkommadarstellung von1
Byte -1
Bit-Zeichen,3
Bits Exponent und4
Bits Mantisse:
0 000 0000
er maximale Exponent, den wir speichern können, ist111_2=7
minus der VerzerrungK=2^2-1=3
was gibt4
, und es ist reserviert fürInfinity
undNaN
. Der Exponent für die maximale Anzahl ist3
, welches ist110
unter Offset binär.
So ist das Bitmuster für die maximale Anzahl:
0 110 1111 // positive
1 110 1111 // negative
Wenn der Exponent Null ist, ist die Zahl subnormal und hat implizites0
Anstatt von1
. Das Bitmuster für min number lautet also:
0 000 0001 // positive
1 000 0001 // negative
Ich habe diese Beschreibungen für Gleitkommazahlen mit einfacher Genauigkeit gefunden:
Negative numbers less than −(2−2−23) × 2127 (negative overflow)
Negative numbers greater than −2−149 (negative underflow)
Positive numbers less than 2−149 (positive underflow)
Positive numbers greater than (2−2−23) × 2127 (positive overflow)
Out von ihnen verstehe ich nurpositiver Überlauf was in ... endet+Infinity
, und das Beispiel würde so aussehen:
0 110 1111 + 0 110 1111 = 0 111 0000
Kann jemand die drei anderen Fälle für Überlauf und Unterlauf mit den oben beschriebenen Bitmustern demonstrieren?