Außerdem ist der Werte nicht immer zwischen 1 und 2 wie weiteres Beispiel zeigt: für x := ldexp(double(1), -1030) erhält man als Ausgabe:
Das kommt immer bei denormalisierten Werten. In dem Fall müsste y.Exponent auch -1022 liefern.
Tut es aber nicht, man erhält x.exp=0 und y.exp=16375
Edit: OK falsche Funktion. Für .Exponent ergibt sich x.Exponent = -1022 und y.Exponent = -8