C-Programmierung
Zufallszahlengenerator
← Zufallszahlen | ● | Zeitmessung →
In der Praxis werden Zahlengeneratoren mit besseren stochastischen Eigenschaften als der lineare Kongruenz-Generator verwendet, wie zum Beispiel der Zufallszahlengenerator rand() der Standardbibliothek:
#include <stdlib.h> /* include standard library header */
unsigned int z1,z2;
srand(0); /* set seed */
z1=rand(); /* get random number */
z2=rand(); /* get another one */
...
unsigned int z1,z2;
srand(0); /* set seed */
z1=rand(); /* get random number */
z2=rand(); /* get another one */
...
Dies generiert eine Reihe von Zufallszahlen im Bereich von $z_i\in[0..2^{b}-1], b\ge 15$. Die Periode ist mindestens $2^{32}$.
Beispiel für Zufallszahlen im Bereich $ [0..m-1] $:
z=rand()%m;
Beispiel für normierte Zufallszahlen im Bereich $ [0..1] $:
double x=(double)rand()/RAND_MAX;
Augenzahl eines Würfels:
pips=rand()%6+1;
← Zufallszahlen | ● | Zeitmessung →