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 */
...

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

Options: