Wie wird random() errechnet

...komplette Frage anzeigen

1 Antwort

Wie du schon richtig gesagt hast wird oft die Uhrzeit als Teil des Inputs verwendet (also z.B. Millisekunden und Nanosekunden, nicht der Timestamp)

Einige Programmiersprachen verwenden zusätzlich z.B. noch diverse Hardware-IDs, wobei das bei Java nicht der Fall ist. Hier gibt es noch einen zusätzlichen fixen Seed der drangepackt wird.

Unabhängig von der Sprache wird das ganze danach gehasht und das ist die generierte Zufallszahl. Wichtig ist dass dieser Hashalgorithmus gleichverteilte Ergebnisse im Bereich 0 <= x < 1 liefert - das ist bei allen heute gängigen Implementierungen allerdings mathematisch bewiesen (früher war das nicht immer gegeben)

Bei Random(2) wird die generierte Zahl einfach mit 2 multipliziert.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?