Wie liefert Radom eine Kommazahl, wenn wir ausschließlich mit Ganzzahlen rechnen?
Indem dort anders gerechnet wird?
Delphi-Quellcode:
function Random: Extended;
const
two2neg32: double = ((1.0/$10000) / $10000); // 2^-32
{$IFDEF PUREPASCAL}
var
Temp: LongInt;
F: Extended;
begin
Temp := RandSeed * $08088405 + 1;
RandSeed := Temp;
F := Temp;
Result := F * two2neg32;
end;