Unterlauf (Underflow) und Überlauf (Overflow) für Fließkommazahlen.?

1 Antwort

Der Overflow oder Underflow ist bei diesen Zahlen etwas eigen, weil er je nach Architektur anders auftreten kann.

Float kann von der FPU im Falle eines Überlaufs zu Max Float oder Inf "gerundet" werden.

Natürlich kommts aber hier immer auf die Implementierung und die Rechenoperation an. Im wesentlichen kann nämlich die Mantisse einen Overflow haben oder der Exponent. Ein Overflow der Mantisse wird dann idR so gelöst, dass der Exponent gesteigert wird und das LSB der Mantisse rausgenommen wird, zB bei einer Addition. Für einen Overflow des Exponenten hingegen ists implementierungsabhängig und wie genau die Implementierung der IEEE754 folgt.

IEEE754 spezifiziert eben hierfür Clamping. Die Addition von Max Float + Max Float ergibt danach einfach den Wert Inf.

Für Underflows ists ähnlich, es werden entweder Bits aus der Mantisse rausgeschoben wodurch Präzission verloren geht oder es wird eben auf 0 gerundet.