"Echte" Zufallszahl?

jccTeq

Erfahrenes Mitglied
Hi Leute,

ich hab schon eine ganze Zeit damit rumgespielt, versucht, eine Reihe "echter" Zufallszahlen zu generieren, aber eigenartigerweise kommt es stark gehäuft vor, daß zwei unmittelbar aufeinander folgende Aufrufe der Funktion Next() die gleiche Zahl liefern. Das ist nicht gut, wenn man zum Beispiel eine Reihe von Würfeln "werfen" will.

Also wie bringe ich C# dazu, bei jedem Aufruf von Next() wirklich eine Zufallszahl zu liefern? Ich weiß, daß es in der PC Welt keine echten Zufallszahlen gibt, weil alles irgendwie logisch berechnet werden muss, aber in anderen Programmiersprachen funktioniert das ja auch, daß man zumindest ansatzweise zufällige Zahlenkolonnen erhält. Wie realisiere ich also einen nahezu realitätsgetreuen Würfel?
 
Tach !

Irgendwie muss der Würfel ja angestossen werden. Und der Zeitpunkt ist ja nie der gleiche. Hast du mal versucht die Millisekunden der Systemzeit als Initialisierung für deinen Random Seed zu verwenden ?

Dann kannst du noch schnell Bits zerwürfeln und du hast eine Zahl

Der folgende C#-Ausdruck verwendet z. B. das bitweise Komplement, um zwei verschiedene Startwerte zu erzeugen

Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
Random rdm2 = new Random(~unchecked((int)DateTime.Now.Ticks));


MFG JJB

_
 
Zurück