Einzelnen Beitrag anzeigen

derseitzer

Registriert seit: 12. Okt 2016
235 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Zufallszahlen allgemeine Frage

  Alt 5. Mär 2018, 11:40
Ich habe nun folgendes getestet:
Ich habe direkt hintereinander zwei Zufallszahlen erstellen lassen und habe die Befehlszeit gemessen.
Code:
QueryPerformanceCounter(startTime);
a:= Random(100);
QueryPerformanceCounter(endTime);
b:= Random(100);
Lässt man die Counterbefehle weg, so erzeugt das System einwandfreie Zufallszahlen (mal gleich und ein andermal total unterschiedlich).
Wie kann das möglich sein, wenn der Counter mir zeigt, dass eigentlich 0 zeit zwischen den beiden Befehlen vergangen ist?
(starttime: 35982319073 und endtime: 35982319073).

Edit: die Funktion Random sagt eigentlich schon einiges Frage selbst beantwortet
Code:
function Random(const ARange: Integer): Integer;
{$IFDEF PUREPASCAL}
var
  Temp: Integer;
begin
  Temp := RandSeed * $08088405 + 1;
  RandSeed := Temp;
  Result := (UInt64(Cardinal(ARange)) * UInt64(Cardinal(Temp))) shr 32;
end;

Geändert von derseitzer ( 5. Mär 2018 um 11:47 Uhr)
  Mit Zitat antworten Zitat